我做错了什么?
valid = set(["Mon","Tue","Wed","Thu","Fri","Sat","Sun","All"])
value = input("Enter the day of interest or all for all days. Valid Values are Mon,Tue,Wed,Thu,Fri,Sat,Sun,All: ")
count = 0
while count <= 3:
if value in valid:
print("Awesome!! You chose {}".format(value.title()))
break
else:
count += 1
pass
print("Try Again")
else:
print("Too many errors. Read the instructions and come back again when ready!! :-| ")
exit()
所以如果我输入一个有效的值,但是如果我测试一个集合之外的值,那么if循环中的else(&#39;再试一次&#39;)执行3次(设置计数器然后跳转)到了while循环的其他地方。
我希望输入框再次出现并持续到以下任何一个: 1.用户在3次尝试中输入了正确的值 2.收到消息并从程序中启动,返回命令提示符。
提前致谢。做一个教程项目并完全坚持这一点。我应该使用try / except吗?如果是这样,我还能设置一个柜台吗?
答案 0 :(得分:0)
您需要允许用户再次输入输入。将输入输入行放在Try again部分下面。
print("Try Again")
value = input("Enter the day of interest or all for all days. Valid Values are Mon,Tue,Wed,Thu,Fri,Sat,Sun,All: ")
您也不需要pass
声明。
请注意,您从0开始计数,这实际上为用户提供了4次机会,而不是3次。(以count=1
开头)