不知道为什么当==时!=不起作用

时间:2019-09-11 18:06:10

标签: python-3.x

通过EDX python课程学习。不知道为什么当我将'!='与'or'语句一起使用时,代码无法按预期工作。

但是我使用'=='确实有效。

x = input("Enter a letter: ")
if x == 'h' or x =='l' or x =='c':
    print('Correct letter')
else:
    print('Wrong letter')

x = input("Enter a letter: ")
if x != 'h' or x !='l' or x !='c':
    print('Wrong letter')    
else:
    print('Correct letter')

在x变量示例中:输入'h','l','c'会打印'正确的字母',其他会打印'错误的字母'

在y变量示例中:始终输入'h','l','c'会打印“错误字母”

2 个答案:

答案 0 :(得分:1)

由于基本逻辑。如果为x == 'h',则它将自动为x != 'l',并将为x != 'c',这意味着当您用逻辑值替换它时,其结尾为false or true or true,自然是{{1} }。否定替代是de Morgan's Laws的否定相加。

答案 1 :(得分:0)

OR更改为AND应该可以解决您的问题。您需要满足所有条件

x = input("Enter a letter: ")
if x != 'h' and x !='l' and x !='c':
    print('Wrong letter')    
else:
    print('Correct letter')