當我按2或3程序並不是什麼都沒有的時候是錯的。它正在等待你的下一個輸入。
讓我告訴你這是如何工作的。
raw_input
是接受用戶輸入的Python功能。(我知道你們都知道這個:)的)
- 當你執行的代碼,首先它會去「
if
」的聲明。 'if'
聲明後有'raw_input'
函數。所以,它等待你的意見。
- 當您輸入'1',
"1" = "1"
時,它會爲您提供預期的輸出並出現代碼。
- 但是,下一次再次執行代碼時,
'if'
之後再次執行'raw_input'
將等待您的輸入。當您輸入'2'並且由於'1' == '2'
爲假時,代碼將轉至下一個'elif'
聲明。 'elif'
之後有'raw_input'
正在等待輸入的功能。
- 因此,你有感覺,程序什麼都不做。
- 當您輸入'3'時會發生同樣的情況。
的上述例子解釋行爲
if raw_input("Enter number : ") == '1':
print "Wybrano 1"
elif raw_input("Enter number : ") == '2':
print "Wybrano 2"
elif raw_input("Enter number : ") == '3':
print "Wybrano 3"
輸出:
C:\Users\dinesh_pundkar\Desktop>python c.py
Enter number : 1
Wybrano 1
C:\Users\dinesh_pundkar\Desktop>python c.py
Enter number : 2
Enter number : 2
Wybrano 2
C:\Users\dinesh_pundkar\Desktop>python c.py
Enter number : 3
Enter number : 3
Enter number : 3
Wybrano 3
如何使你的代碼的工作?
答案很簡單。正如第一條評論中的@MooingRawr所解釋的,只需將用戶輸入保存在某個變量中,然後檢查。
x = raw_input("Enter number : ")
if x == '1':
print "Wybrano 1"
elif x == '2':
print "Wybrano 2"
elif x == '3':
print "Wybrano 3"
輸出:
C:\Users\dinesh_pundkar\Desktop>python c.py
Enter number : 1
Wybrano 1
C:\Users\dinesh_pundkar\Desktop>python c.py
Enter number : 2
Wybrano 2
C:\Users\dinesh_pundkar\Desktop>python c.py
Enter number : 3
Wybrano 3
C:\Users\dinesh_pundkar\Desktop>
你想你比較之前....如果你使用的是默認存儲的raw_input'()'的'變量的raw_input()' – MooingRawr
請發佈'raw_input()'的代碼 – danielhadar
因爲它比較了第一個「if」,並且測試在第二個和第三個測試中失敗,所以進入'elif'並等待你輸入輸入..所以把'raw_input()'放在'if..elif'並保存到任何變量中 –