在单个语句中在python中多次测试单个变量

时间:2014-10-13 14:30:41

标签: python python-2.7 syntax conditional-statements logical-operators

我在uni学习Python,并且被告知逻辑运算符和条件语句是如何工作的。我的问题是:有没有任何方法可以缩小像这样的代码?

if (day != "Sunday" and day != "Saturday" and day != "Friday" and day != "Thursday" and day != "Wednesday" and day != "Tuesday" and day != "Monday"):
    print "That is not a day"
    return 0

感谢任何建议,我理解上面的例子非常简单。

2 个答案:

答案 0 :(得分:7)

您可以使用in关键字。

if day not in ("Sunday", "Saturday", "Friday", "Thursday", "Wednesday", "Tuesday", "Monday"):

答案 1 :(得分:0)

因为如果日期为"Monday",则if不会被评估,并且足以跳过if中的所有其他条件,从而导致其不满意。这是因为short circuit evaluation

当你写:

if (not a) and (not b)

这与(De Morgan's laws):

相同
if not (a or b)

这不是你的意思。