如何在if语句中正确使用Or或字符串

时间:2011-01-24 21:56:00

标签: python

这是我写的一个功能。如果我将星期三作为星期几输入,则程序无法执行打印代码。该行代码的正确语法是什么使星期三正常工作?

def day(dayOfWeek):
    if dayOfWeek == ("Monday" or "Wednesday"):
        print("Poetry: 6-7:15 in Chem 131")

3 个答案:

答案 0 :(得分:8)

代码中的表达式("Monday" or "Wednesday")始终评估为"Monday"。运算符or是逻辑or,如果第一个操作数evaluates to True首先尝试。如果是,则返回第一个操作数,否则返回第二个操作数。由于"Monday"是“trucy”,因此您的比较始终与"Monday"进行比较。

请改用:

if dayOfWeek in ("Monday", "Wednesday"):
    print("Poetry: 6-7:15 in Chem 131")

答案 1 :(得分:3)

Sven 给出的答案可行,可能是最好的方法,但只是为了演示如何正确使用or,你必须这样做:

if (dayOfWeek == "Monday") or (dayOfWeek == "Wednesday"):

答案 2 :(得分:0)

如果您想使用==

if dayOfWeek == "Monday" or dayOfWeek == "Wednesday":
    print("Poetry: 6-7:15 in Chem 131")