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