我在'时遇到了麻烦。在python中

时间:2015-09-07 07:44:54

标签: python

这是我的代码:

while c2 != 1 or 2:
    c2 = input('<1.Enter the kitchen> <2.Exit the house> ')

我试图制作一个基于文本的RPG,但这部分不断填满!我希望控制台能够继续询问输入,直到&#39; c2&#39;变量是1或2,但它保持循环!我做错了什么?

3 个答案:

答案 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'])