2013-04-05 25 views
0

我想了解這些說明。如何在我用作函數參數的列表中添加值?

  1. 成立名爲「夏」的主要程序文件的新功能是獲得一個列表作爲參數,並返回一個值,我們將決定下一步措施。

  2. 在「夏季」的功能,設置使用命名爲「n」個,將採取的值0,2,4,6,8,10中的計數器變量一個循環,12

  3. 每次循環時,都要從「mymath」模塊中調用您的「powerval」函數,作爲參數項「n」和「n + 1」從傳入「summer」的數據列表中傳遞。將所有這些值相加並將最終結果返回給調用者。

到目前爲止,我有:

def summer(list): 
    for n in range(0,13,2): 
     value=powerval(n,n+1) 

之後,我很失落。我如何執行第3步?

回答

3

你需要將它們加起來:

from mymath import powerval 

def summer(lst): 
    total = 0 

    for n in range(0, 13, 2): 
     total += powerval(lst[n], lst[n + 1]) 

    return total 

我不知道你在哪裏使用lst(我改名listlst,爲list是一個內置的功能),所以我猜你試圖從該列表中獲取第n th和n + 1 th元素。

+0

「mymath」模塊的「powerval」功能 – Gerrat 2013-04-05 20:47:35

+0

@Gerrat:這句話還有更多嗎? – Blender 2013-04-05 20:48:47

+0

不是真的。只是迂腐...對不起 – Gerrat 2013-04-05 20:49:53

4

你把它們加起來:

from mymath import powerval 

def summer(somelist): 
    sum = 0 
    for n in range(0, 13, 2): 
     sum += powerval(somelist[n], somelist[n + 1]) 
    return sum 

所以powerval()返回值被添加到至今的總和,這是在0開始你需要在somelist[n]somelist[n + 1]值傳遞,而不是指數本身。

+0

@Gerrat:我想我們可以假設有一個'from mymath import powerval'行在某處。 – 2013-04-05 20:49:22

+0

你是對的...刪除我的迂腐觀察 – Gerrat 2013-04-05 20:50:57

1

可以使用sum方法在一個很時髦的方式來做到這一點:)

def summer(myList): 
    return sum(powerval(myList[n], myList[n+1]) for n in range(0, 13, 2)) 

這也是最快的方法。

PS:這不是一個好主意,可以將列表命名爲「list」,因爲這是python中的保留名稱。這就是爲什麼我在上面的例子中將它重命名爲myList的原因。

相關問題