如何从列表中删除偶数?从列表中删除偶数
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