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