我想让这个功能起作用:
def getEvenNumbers (numbers):
bo = []
for num in numbers:
bo.append(num)
if num % 2 == 0:
return bo
getEvenNumbers([1, 4, 8, 9])
会返回[4]
。
我希望有更多结果,例如[4,8]
,但它不起作用,我只得到[4]
?我做错了什么?
答案 0 :(得分:8)
一旦发现其中一个号码是偶数,你就会返回。
def get_even_numbers(numbers):
bo = []
for num in numbers:
if num % 2 == 0:
bo.append(num)
return bo
或者:
def get_even_numbers(l):
return [n for n in l if n % 2 == 0]
答案 1 :(得分:2)
实际上你当前给出的代码将返回[1,4],而不是[4]。您的函数当前只是将数字附加到列表中,直到找到第一个偶数,然后返回。
你想要这样的东西:
def getEvenNumbers(numbers):
return [n for n in numbers if not n % 2]
答案 2 :(得分:1)
试试这个:
def getEvenNumbers (numbers):
bo = []
for num in numbers:
if num % 2 == 0:
bo.append(num)
return bo