023、if 和 while 练习

 

1、if   和  while 练习

"""
题目一:
一家商场在降价促销,所有原价都是整数(不需要考虑浮点情况),如果购买金额50-100元(包含50元和100元)之间,会给10%的折扣;
如果购买金额大于100元会给20%折扣。编写一程序,询问购买价格,再显示出折扣和最终价格。
输入:
price = xxx
输出:
购买折扣:8 折
优惠价格:xxx 元


题目二:闰年判断
输入一个有效的年份(如:2019),判断是否为闰年(不需要考虑非数字的情况)
如果是闰年,则打印“2019年是闰年”;否则打印“2019年不是闰年”。
什么是闰年,需要自己了解(需求文档没有解释)


题目三:求三个整数中的最大值


题目四:编写如下程序:
a.用户输入1-7七个数字,分别代表周一到周日;
b.如果输入1~5,打印对应的“周一”~“周五”,如果输入的数字是6或7,打印输出“周末”
c.如果输入0,退出循环
d.输入其他内容,提示:“输入有误,请重新输入!”
提示:本题可以使用if和while循环,同时需要校验用户的输入是否正确。不用考虑浮点数等情况。



题目五:编写程序实现,
在程序中预设一个0~9之间的整数,让用户通过键盘输入所猜的数,如果大于预设的数,显示“遗憾,太大了”,小于预设的数,显示“遗憾,太小了”,
如此循环,直至猜中该数,显示“预测N次,你猜中了!”,其中N是用户输入数字的次数。
提示:使用while无限循环,当猜中时break

"""


print(\n=================  题目一  ====================)
"""
题目一:
一家商场在降价促销,所有原价都是整数(不需要考虑浮点情况),如果购买金额50-100元(包含50元和100元)之间,会给10%的折扣;
如果购买金额大于100元会给20%折扣。编写一程序,询问购买价格,再显示出折扣和最终价格。
输入:
price = xxx
输出:
购买折扣:8 折
优惠价格:xxx 元
"""

price = int(input(购买价格:))
discount = 0
str_discount = 无折扣

if price > 100:
    discount = 0.2
    str_discount = 2折
elif price >= 50:
    str_discount = 1折
    discount = 0.1

result = price * (1 - discount)
print(购买折扣:{0},优惠后的价格:{1}.format(str_discount , result))


print(\n=================  题目二  ====================)
"""
题目二:闰年判断
输入一个有效的年份(如:2019),判断是否为闰年(不需要考虑非数字的情况)
如果是闰年,则打印“2019年是闰年”;否则打印“2019年不是闰年”。
什么是闰年,需要自己了解(需求文档没有解释)
公历闰年计算方法:
1、普通年能被4整除且不能被100整除的为闰年。(如2004年就是闰年,1900年不是闰年)
2、世纪年能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)
"""

year = int(input(请输入有效年份:))
if year % 4 == 0:
    if year % 100 == 0:
        if year % 400 == 0:
            print({0}是世纪润年.format(year))
        else:
            print({0}不是润年.format(year))
    else:
        print({0}是普通润年.format(year))
else:
    print({0}不是润年.format(year))


print(\n=================  题目三  ====================)
# 题目三:求三个整数中的最大值

# 方法一:
a = 3
b = 4
c = 5
if a >= b:
    if b >= c:
        print(三个整数中的最大值为a={0}.format(a))
    elif c >= a:
        print(三个整数中的最大值为c={0}.format(c))
elif b >= c:
    print(三个整数中的最大值为b={0}.format(b))
else:
    print(三个整数中的最大值为c={0}.format(c))

# 方法二:
a1 = 3
b1 = 7
c1 = 5
max_num = max(a1, b1, c1)
print(三个整数中的最大值为{0}.format(max_num))


print(\n=================  题目四  ====================)
"""
题目四:编写如下程序:
a.用户输入1-7七个数字,分别代表周一到周日;
b.如果输入1~5,打印对应的“周一”~“周五”,如果输入的数字是6或7,打印输出“周末”
c.如果输入0,退出循环
d.输入其他内容,提示:“输入有误,请重新输入!”
提示:本题可以使用if和while循环,同时需要校验用户的输入是否正确。不用考虑浮点数等情况。
"""

all_days = [星期一, 星期二, 星期三, 星期四, 星期五, 星期六, 星期日]
while True:
    num = int(input(请输入1—7的数字:))
    if num == 0:
        print(输入0,退出循环)
        break
    elif 1 <= num <= 5:
        print(all_days[num - 1])
    elif 6 <= num <= 7:
        print(周末)
    else:
        print(输入有误,请重新输入!)


print(\n=================  题目五  ====================)
"""
题目五:编写程序实现,
在程序中预设一个0~9之间的整数,让用户通过键盘输入所猜的数,如果大于预设的数,显示“遗憾,太大了”,小于预设的数,显示“遗憾,太小了”,
如此循环,直至猜中该数,显示“预测N次,你猜中了!”,其中N是用户输入数字的次数。
提示:使用while无限循环,当猜中时break
"""

my_num = 5
count = 0
while True:
    num = int(input(请输入你猜的数字:))
    count += 1
    if num > my_num:
        print(遗憾,太大了)
    elif num < my_num:
        print(遗憾,太小了)
    else:
        print(预测{0}次,你猜中了!.format(count))
        break

 

023、if 和 while 练习

上一篇:String、StringBuilder和char[]


下一篇:C#的输入输出及基本类型