这是我的代码:
while c2 != 1 or 2:
c2 = input('<1.Enter the kitchen> <2.Exit the house> ')
我试图制作一个基于文本的RPG,但这部分不断填满!我希望控制台能够继续询问输入,直到&#39; c2&#39;变量是1或2,但它保持循环!我做错了什么?
答案 0 :(得分:3)
更改while c2 != 1 or 2:
到
while c2 != 1 and c2 != 2:
或
while c2 not in (1, 2):
答案 1 :(得分:1)
首先,有一个类似的问题here(它与和相同。与或相同)
第二,当进行乘法条件时,你需要将它们分开:
while c2 != 1 and c2 != 2:
c2 = input('<1.Enter the kitchen> <2.Exit the house> ')
请注意,您使用的逻辑while c2 != 1 or 2
将成为不同的逻辑表达式
答案 2 :(得分:0)
如果您打算做很多这类输入,那么按照以下方式创建函数处理它可能更有意义:
def get_response(prompt, replies):
while True:
answer = input(prompt)
if answer in replies:
return answer
c2 = get_response('<1.Enter the kitchen> <2.Exit the house> ', ['1', '2'])