2013-11-20 133 views
-1

幫助,無論何時我輸入一個以上的語句或程序中的語句,它只會運行它們的第一行,這是什麼問題?多次或總是使用第一個語句的語句

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

回答

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

哦,我應該知道這一點。謝謝! – user2891439

+0

太好了。如果答案有用,請將答案標記爲已接受。 – karthikr