使用while循环在Python中测试和接受用户输入

时间:2018-05-09 01:44:53

标签: python-3.x

我做错了什么?

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吗?如果是这样,我还能设置一个柜台吗?

1 个答案:

答案 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开头)