while循环获取列表中的偶数

时间:2016-11-08 01:23:53

标签: python-2.7

1)我做错了什么。我想在列表中得到偶数。

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 个答案:

答案 0 :(得分:1)

您不应将检查条件放在while循环中。 while循环仅在条件为真时运行,但一旦L[i] = 15,则15 % 2 == 0为假,因此while循环中断。第一个循环根本不运行,因为第一个条件L[i] % 2 == 0为假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)