多个or语句总是使用第一个on

2024-05-13 07:09:55 发布

您现在位置:Python中文网/ 问答频道 /正文

帮助,每当我在一个程序中键入多个或多个语句时,它只会运行其中的第一行,有什么问题吗

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()

Tags: or程序键入iffoooscode语句
1条回答
网友
1楼 · 发布于 2024-05-13 07:09:55

更改:

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"):

相关问题 更多 >