版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011466469/article/details/88928340
需求: # 7.编写如下程序 """ a.用户输入1-7七个数字,分别代表周一到周日 b.如果输入1~5,打印对应的“周一”~“周日”,如果输入的数字是6或7,打印输出“周末” c.如果输入0,退出循环 d.输入其他内容,提示:“输入有误,请重新输入!” 提示:本题可以使用if和while循环,同时需要校验用户的输入是否正确 """
思路:校验用户输入是否正确,但是对控制字符只校验了一次;输入数字返回1-7输出对应星期,0退出循环即结束,大于7与输入其他内容等效,都会提示输入有误,请重新输入!并且是个while循环判断isdigit()直到输入1-7数字字符正确为止,再转换数字字符为int类型。循环用户输入1-7这样的操作。
def digit_game(Num_1):
"""
a.用户输入1-7七个数字,分别代表周一到周日
b.如果输入1~5,打印对应的“周一”~“周日”,如果输入的数字是6或7,打印输出“周末”
c.如果输入0,退出循环
d.输入其他内容,提示:“输入有误,请重新输入!”
提示:本题可以使用if和while循环,同时需要校验用户的输入是否正确
"""
# 定义一个列表,不可变类型,列出所有星期
list_3 = ("周一", "周二", "周三", "周四", "周五", "周末", "周末")
# 循环判断校验用户输入时候正确
while Num_1.isdigit() != True:
Num_1 = input("1输入有误,请输入1-7范围的任意数字:")
while int(Num_1) > 7:
print("2输入的值为{},不在1-7之间。".format(Num_1))
Num_1 = input("3请重新输入1-7范围的任意数字:")
while Num_1.isdigit() != True:
Num_1 = input("4输入有误,请输入1-7范围的任意数字:")
# 强制转换为int类型
a = int(Num_1)
while 1:
if a == 1 or a == 2 or a == 3 or a == 4 or a == 5 or a == 6 or a == 7:
print("今天{}".format(list_3[a - 1]))
if a <= 7:
Num_1 = input("5请输入1-7范围的任意数字:")
while Num_1.isdigit() != True:
Num_1 = input("6输入有误,请输入1-7范围的任意数字:")
a = int(Num_1)
elif a == 0:
print("0退出游戏!")
break
else:
Num_1 = input("7输入有误,请输入1-7范围的任意数字:")
while Num_1.isdigit() != True:
Num_1 = input("8输入有误,请输入1-7范围的任意数字:")
a = int(Num_1)
continue
# 游戏入口
Num_1 = input("玩一个输入一个数字对应星期几的游戏!\n请输入1-7范围的任意数字:")
# 调用方式,传入参数
digit_game(Num_1)