簡體   English   中英

遺失:定義一個函數,該函數接受一個數字元組,並僅返回該元組中偶數的和

[英]Lost: Defining a function which takes a tuple of numbers and returns the sum of only the even numbers in the tuple

標題幾乎說明了一切。 這是我一直在修改的代碼。

def sum_evens(tup):
    for num in tup:
        if num % 2 ==0:
            total = num+num
            print(total)

我在這里很迷茫,對我能做什么有什么想法? 先感謝您!

您需要從0開始總計,並在找到匹配數字時將其添加

def sum_evens(tup):
    total = 0
    for num in tup:
        if num % 2 ==0:
            total = total+num
    return total

最終,您需要將總數返回到所謂的總數,以便可以使用它

有很多更好的方法可以做到這一點...但是我只是編輯了您的函數以使其工作

print sum_evens([1,2,3,4,5,6,7]) # 2+4+6 = 12

您需要了解列表推導。 基本上,它們是循環的后退,這樣您就可以通過遍歷舊列表來定義新列表。 您還可以添加條件子句進行選擇。

在這種情況下,我們遍歷現有的元組,並尋找除以二的余數為零的單個成員。 然后,我們用這些成員構造一個列表,然后求和。

print sum([x for x in my_tuple if x % 2 == 0])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM