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

Zac*_*iro 3 python

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

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

Sve*_*ach 8

("Monday" or "Wednesday")始终对代码中的表达式求值"Monday".运算符or是一个逻辑or,如果第一个操作数的计算True结果首先尝试.如果是,则返回第一个操作数,否则返回第二个操作数.既然"Monday"是"trucy",那么你的比较总是比较"Monday".

请改用:

if dayOfWeek in ("Monday", "Wednesday"):
    print("Poetry: 6-7:15 in Chem 131")
Run Code Online (Sandbox Code Playgroud)

  • @Zack Shapiro:`("星期一","星期三")`只是一个元组.它是"动态"生成的.`in`用于测试元素是否在列表,元组或字典中.没有魔法. (2认同)