2016-04-09 89 views
-4

我有這樣的代碼:如果語句運行不正常

xl = [] 
while True: 
    x = raw_input("enter ") 
    xl.append(x) 
    if "1" in xl and "2" in xl and "3" in xl: 
     print "yay" 
    elif "3"in xl and"4"in xl and"5"in xl : 
     print "yay" 

我想它使程序將只打印「耶」一旦所有的審覈規定得到滿足,但是這並沒有發生:

enter 1 
enter 2 
enter 3 
yay 
enter 4 
yay 
enter 5 
yay 

正如你所看到的,我甚至沒有把3,4,5按順序排列,我得到了一個「耶」。我該如何解決?謝謝!

+2

你沒有明確的'xl'列表,所以'1','2'和'3'是*仍在列表*。 –

+6

和他在兩個分支都印有'yay' ...所以... –

+0

問題是? – hspandher

回答

0

這不是關於if -statement。

您必須清除序列後,一旦你找到三個數字,導致「耶」。
否則,一旦你到達那裏,標準將繼續得到滿足。
所以print後,你需要一個xl.remove('1')