如何正确使用python中的'或'命令

时间:2014-03-27 10:38:52

标签: python

由于某些原因,此代码不起作用。它适用于'和'命令,但我不完全确定如何使用'或'。我目前的代码:

if (response1 not in symbols or letters):
    print("You did something wrong")

2 个答案:

答案 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")