我的任務是撰寫以下代碼:
取一個整數串列并回傳這些數字相加的值,但前提是它們是奇數。
示例輸入:[1,5,3,2] 輸出:9 我做了下面的代碼,它作業得很好。
numbers = [1,5,3,2]
print(numbers)
add_up_the_odds = []
for number in numbers:
if number % 2 == 1:
add_up_the_odds.append(number)
print(add_up_the_odds)
print(sum(add_up_the_odds))
然后我嘗試使用函式定義/回傳重新編碼它:
def add_up_the_odds(numbers):
odds = []
for number in range(1,len(numbers)):
if number % 2 == 1:
odds.append(number)
return odds
numbers = [1,5,3,2]
print (sum(odds))
但我無法讓它作業,有人可以幫忙嗎?
uj5u.com熱心網友回復:
注意:我將假設 Python 3.x
看起來您正在定義您的函式,但從未呼叫它。
當解釋器完成您的函式定義時,該函式現在可供您使用 - 但在您告訴它之前它永遠不會實際執行。
在代碼的最后兩行之間,您需要對 numbers 陣列呼叫 add_up_the_odds(),并將結果分配給odds 變數。
IE odds = add_up_the_odds(numbers)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/335928.html
