通过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'会打印“错误字母”
答案 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')