Python 3.x Python3.x上的基本脚本中的无限循环

Python 3.x Python3.x上的基本脚本中的无限循环,python-3.x,Python 3.x,我开始用Python3.x编写代码,在我的第一个脚本中,我做了一个循环,当用户键入除“b”或“b”以外的任何内容时,他都会留在循环中,但实际上,当我键入“b”或“b”时,我会留在循环中,我不知道为什么 对不起,我说的是英语,我是个青蛙,你知道吗 致意 我试图用一个raw_输入来纠正这一点,但在Python3.x中似乎没有定义raw_输入() ipt2 = input ('tapez b pour quitter') while ipt2 != 'b' or ipt2 != 'B

我开始用Python3.x编写代码,在我的第一个脚本中,我做了一个循环,当用户键入除“b”或“b”以外的任何内容时,他都会留在循环中,但实际上,当我键入“b”或“b”时,我会留在循环中,我不知道为什么

对不起,我说的是英语,我是个青蛙,你知道吗

致意

我试图用一个raw_输入来纠正这一点,但在Python3.x中似乎没有定义raw_输入()

    ipt2 = input ('tapez b pour quitter')

    while ipt2 != 'b' or ipt2 != 'B':
        print(get_random_quote(quotes))
        ipt2 = input ('tapez b pour quitter')
        print(ipt2)
当我输入B的时候,我留在循环中,我想我必须离开循环,不是吗


最后一行是查看ipt2的值。

问题是您正在使用
进行检查,但在这种情况下,您需要使用

ipt2 = input ('tapez b pour quitter')

while ipt2 != 'b' and ipt2 != 'B':
    print(get_random_quote(quotes))
    ipt2 = input ('tapez b pour quitter')
    print(ipt2)
逻辑如下:

第一个示例

ipt2=A

当ipt2!='b'和ipt2!='B':
我们检查以下内容:

1) ipt2不是“b”(ipt2是如此正确或
True

2) ipt2不是“B”(ipt2是如此正确或
True

这两个条件均
True
,因此循环将继续

第二个示例

ipt2=B

现在我们再次检查:

1) ipt2不是“b”(ipt2是如此正确或
正确的b

2) ipt2不是“B”(ipt2是如此不正确或
False


一个条件为
True
,另一个条件为
False
,因此循环继续,因为我们正在检查condition1condition2是否为True。如果
ipt2
'B'
,则ipt2不是
'B'
,反之亦然,一个结果将始终为真,循环将继续。

一切都不同于
B
B
。假设您希望在ipt2!='b'和ipt2!='谢谢,我理解这背后的逻辑。谢谢你,这是我的工作。但我不明白为什么是“and”和“not”或“因为如果我键入“b”ipt2='b'but!=”你知道我的意思吗?谢谢我理解逻辑非常感谢。