如何從列表中刪除偶數?從列表中刪除偶數
a = []
i = 0
while i < 10:
c = int(raw_input('Enter an integer: '))
a.append(c)
i += 1 # this is the same as i = i + 1
for i in a:
if i % 2 == 0:
a.remove(i)
print(a)
這一直要求號碼10已進入後也
如何從列表中刪除偶數?從列表中刪除偶數
a = []
i = 0
while i < 10:
c = int(raw_input('Enter an integer: '))
a.append(c)
i += 1 # this is the same as i = i + 1
for i in a:
if i % 2 == 0:
a.remove(i)
print(a)
這一直要求號碼10已進入後也
爲什麼不防止追加,如果數量是偶數,而不是添加,然後檢查刪除?
a = []
counter = 0
while counter < 10:
c = int(raw_input('Enter an integer: '))
if c % 2 != 0:
a.append(c)
counter += 1
print(a)
i
由for
語句重新分配。使用一個不同的變量。
如果你想看到根據謂詞列表如何「過濾器」,這裏有一個例子:
a_without_even = filter(lambda x: x%2==1, a)
那麼,如果你刪除它們,你永遠也不會達到10?嘗試將其分成兩部分。 – squiguy 2013-04-04 00:38:31
對不同變量重複使用相同變量名稱的錯誤,不好的做法。打電話給你的循環 - 我更具描述性,如櫃檯或類似的。最好儘快熟悉這一點 – 2013-04-04 00:39:53
您正在通過第二個循環重置'i'。你需要使用一個不同的變量。 – Cfreak 2013-04-04 00:40:01