由于某些原因,此代码不起作用。它适用于'和'命令,但我不完全确定如何使用'或'。我目前的代码:
if (response1 not in symbols or letters):
print("You did something wrong")
答案 0 :(得分:4)
Python中的or
(以及大多数编程语言)与口语的'或'不同。
当你说
if (response1 not in symbols or letters)
Python实际上将其解释为
if ((response1 not in symbols) or (letters))
这不是你想要的。所以你应该做的是:
if ((response1 not in symbols) and (response1 not in letters))
答案 1 :(得分:1)
or
是一个逻辑运算符。如果or
之前的部分为true-ish,则返回,如果不是,则返回第二部分。
所以在这里,response1 not in symbols
为True,然后返回,否则返回letters
。如果letters
中有事物,那么它本身就是真的,而if
语句会认为它是真的。
您正在寻找
if (response1 not in symbols) and (response1 not in letters):
print("You did something wrong")