我想這個函數來工作:Python:我做錯了什麼?
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]
?我究竟做錯了什麼?
我想這個函數來工作:Python:我做錯了什麼?
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]
?我究竟做錯了什麼?
一旦發現其中一個數字是偶數,您就返回。
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]
@Jeff IDK,這很奇怪。 – NullUserException
好吧,我只是試圖達到底部。它發生在我身上之前,並認爲這是我做的。 –
謝謝NullUser ...我無法相信它只是返回函數的位置......非常感謝你 –
試試這個:
def getEvenNumbers (numbers):
bo = []
for num in numbers:
if num % 2 == 0:
bo.append(num)
return bo
其實你的代碼,目前給出的將返回[1,4],而不是[4]。您的函數當前只是將數字附加到列表中,直到找到第一個數字,然後返回。
你想要的東西,如:
def getEvenNumbers(numbers):
return [n for n in numbers if not n % 2]
重複[Python的:在函數返回列表結果問題(http://stackoverflow.com/questions/7439513/python-return-list-result-problem你在不久之前就問過這個問題。請仔細閱讀答案,我的演示文稿就是如何做到的 - 積累到列表中,然後在完成時返回。 – agf
是... agf ...我跟着那一步...更多的理由甚至對什麼做錯了感到困惑 –
@agf這是怎麼回事? – NullUserException