2016-11-08 218 views
0

1)我在做什麼錯了。我想得到列表中的偶數。while循環來獲得偶數列表

L = [5,10, 15, 20, 25] 
i = 0 
while L[i] % 2 == 0 and i < len(L): 
    print L[i] 
    i += 1 

這並沒有給我任何東西

2)如果我有L = [10, 15, 20, 25]運行它,它的工作原理,但只返回10。爲什麼它不會返回20以及循環在第一次匹配後停止。

+1

您可能還需要考慮更Python' for elem in lst:if elem%2 == 0:print(elem)'而不是不必要地索引索引。 – paxdiablo

回答

1

您不應該將檢查條件放在while循環中。 while循環將只在條件爲真時運行,但一旦L[i] = 15,則15 % 2 == 0爲假,因此while循環會中斷。第一個循環完全不運行,因爲第一個條件L[i] % 2 == 0爲false,因爲L[i] = 5。你想用一個if語句,以便您的代碼看起來像這樣

l = [5, 10, 15, 20, 25] 
i = 0 
while i < len(l): 
    if l[i] % 2 == 0: 
     print(l[i]) 
    i += 1 

然而,這將是更好地使用for循環這樣

l = [5, 10, 15, 20, 25] 
for i in l: 
    if i % 2 == 0: 
     print(i) 
+0

實際上,它是導致循環退出而不是'15'的'5',因此完全沒有輸出。但是,除了那個小挑剔之外,很好的答案。 – paxdiablo

+0

@paxdiablo第二個循環是'15',但我會添加語言來澄清。 –

+1

葉,道歉,剛回去仔細閱讀。我的錯。 – paxdiablo