我是一名GCSE学生,需要有关我的计算机科学案例研究的帮助。 我想检查输入是否在列表中,以验证我的代码。这是我正在尝试做的一个小例子。
Days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] #The array
DayChoice = input("Enter a day") #Asking user to input day
while True:
for i in Days: #Trying to loop through days to see if input matches list
if DayChoice == i:
print("correct input")
break #If yes then end validation
else:
print("enter correct input") #If wrong ask to input again
尝试运行它,它有某种循环错误,我认为那一阵子可能在错误的地方。我希望程序检查输入是否在列表中,如果是,则从整个循环中断开,如果不是,则它将要求用户再次输入。如果有人可以重写/编辑代码,则将不胜感激。并且请考虑到这应该是GCSE级别。
答案 0 :(得分:4)
使用 in 运算符:
Days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
DayChoice = input("Enter a day")
if DayChoice not in Days:
print('Enter correct input')
答案 1 :(得分:2)
您应该使用@JosueCortina提到的方法。
但是要指出代码中发生的事情,break
只会从for循环中中断。因此,您陷入了无限的while循环中。 while循环应在此处删除。另外,您的else
应该带有for
循环,而不是if
语句。
Days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] #The array
DayChoice = input("Enter a day") #Asking user to input day
for i in Days: #Trying to loop through days to see if input matches list
if DayChoice == i:
print("correct input")
break #If yes then end validation
else:
print("enter correct input") #If wrong ask to input again
答案 2 :(得分:0)
只需指出有一个库Calendar.day_name来获取所有可以使用的日期名称
import calendar
possible_days = [day[:3] for day in (calendar.day_name)]
day_input = input("Enter a day")
if day_input not in possible_days :
print('Enter correct input')