while True:
num=raw_input("Please enter a number.")
if (num == 1):
print "Sunday"
elif (num==2):
print "Monday"
elif (num==3):
print "Tuesday"
elif (num==4):
print "Wednesday"
elif (num==5):
print "Thursday"
elif (num==6):
print "Friday"
elif (num==7):
print "Saturday"
else:
print "Invalid Choice!"
option = raw_input("Would you like to continue playing?")
if (option=="yes"):
continue
elif (option=="no"):
break
这是我的代码。当我出于某种原因运行它时,第一部分的输出(本周的那一天)出现为" else"选项是"无效选择"。当我删除else语句时,输出只是空白。稍微混淆了为什么会发生这种情况。
答案 0 :(得分:5)
raw_input
会将输入返回为str
。如果要将其用作int
语句的条件,则必须将其转换为if
。
num=int(raw_input("Please enter a number."))
请注意,如果用户没有输入数字,则会引发错误。
答案 1 :(得分:1)
当您构建该计划时,我建议您向“无效选择”添加更多信息!"响应。例如:
print("You entered `{entry}` ({entry_type}), which is an invalid choice!".format(entry=num, entry_type=type(num)))
会告诉你的
您输入了“3”(< class' str'>),这是一个无效的选择!
这可能暗示您需要与字符串进行比较,或将输入转换为整数。