多个或语句总是使用第一个

时间:2013-11-20 18:15:46

标签: python if-statement

帮助,每当我输入一个以上的程序中的一个或多个语句时,它只会运行它们的第一行,有什么问题?

if foo == "ADMIN" or "1":
    os.system("cls")
    global CODES
    CODES = "BLUE"
    PORTABLENESS()
elif foo == "IT" or "2":
    os.system("cls")
    global CODE
    CODES = "Green"
    PORTABLENESS()
elif foo == "STUDENT" or "3":
    CODE = "STUDENT"
    PORTABLENESS()

1 个答案:

答案 0 :(得分:2)

变化:

if foo == "ADMIN" or "1":

if foo == "ADMIN" or foo == "1":

依旧......

问题是,

if foo == "ADMIN" or "1":

评估为

if (foo == "ADMIN") or "1":

其中or "1" 总是评估为True。因此这个问题。

另一种选择是:

if foo in ("ADMIN", "1"):