2017-07-21 76 views
-5

當我運行這段代碼時,它總是進入else。即使我選擇1,2或3.我怎樣才能達到正確的if, elif else陳述?簡單的elif語句

def main(): 
    name = input("What is your name?") 
    print("Hello", name) 
    choice = int 
    choice = 0 
    choice = input("Please choose a number from the following options: \n 1. Paper \n 2. Rock \n 3. Scissors") 
    print (choice) 

    if choice == 1: 
     print ('You chose number 1') 
    elif choice == 2: 
     print ('You chose number 2') 
    elif choice == 3: 
     print ('You chose number 3') 
    else: 
     print ('Invalid Entry Mush') 
    return 

main() 
+2

的編程語言是這樣嗎? – Beginner

+0

請標記爲Python。腳本中有一些不必要的代碼行,但問題是輸入是字符串而不是整數。用引號將這些數字包裝在條件中。 –

回答

0

或者你可以把你如果報價之間的語句:例如:如果選擇==「1」打印(「NR 1」)的elif選擇==「2」等等..

1

input返回一個字符串。您需要將其轉換爲int,使得檢查整數您的elif選項觸發:

choice = int(input("Please choose a number from the following options: \n 1. Paper \n 2. Rock \n 3. Scissors")) 

順便說一個前兩行是不必要的。

+0

非常感謝您花時間回覆!非常有幫助:-) – David

+0

沒問題!如果你的問題已經解決,一定要接受答案;) –