如何确保用户仅输入'y'或'n'并使程序仅接受'y'或'n'作为答案?
while True:
try:
cont = input("Do you want to continue? If so enter 'y'.")
if cont != "n" or cont !="y":
print("Please enter 'y' or 'n'")
else:
break
except ValueError:
print("Please enter 'y' or 'n'")
else:
break
答案 0 :(得分:4)
类型if cont != "n" or cont !="y":
的条件始终为真,因为cont
不能同时为n
和y
。
答案 1 :(得分:1)
因为它应该是if cont != "n" and cont !="y":
。每个字都不是n
或不是y
。
答案 2 :(得分:1)
您应该使用and
运算符而不是or
运算符。为避免这种混淆,您可以尝试以接近英语的方式编写此类条件,例如
cont="a"
if cont not in ("n", "y"):
print "Welcome"
这可以理解为"如果cont不是......"之一。此方法的优点是,您可以在单个条件中检查n个元素。例如,
if cont not in ("n", "y", "N", "Y"):
仅当True
不区分大小写cont
或n
y
编辑:正如Eric在评论中所建议的,对于单字符检查我们可以做这样的事情
if cont not in "nyNY":