2016-10-07 29 views
-1
data = [92.5, 87.7, 74.8, 93., 91.7, 90.0, 90.3, 92.5, 100.0, 
    100.0, 35.7, 37.4, 21.0] 

def data_sum(data): 
    total=0.0 
    for element in data: 
     total+=element 
    return total 

我的任務是找到上面列表的總和,這是我到目前爲止,但是當我去運行該文件它返回空。謝謝你的時間。用定義語句計算數字的總和-python

+1

你沒有在腳本中調用函數。在函數定義之後添加'data_sum(data)'。 – Abdou

+6

不要破壞你的問題。 – Undo

回答

0

你的代碼沒問題。您沒有對此函數進行任何調用,這就是您的代碼未執行的原因。你可以叫你的函數爲:

data_sum(data) 

然而,在Python sum()功能如果列表是數字式的,它返回list的總和。獲取數字列表總和的理想方法是使用sum()。因此,你的代碼應該是:

sum(data) 

其中datalist在這個問題被提及。

+1

在另一個函數中包裝和函數有什麼意義?您可以等價使用函數對象'data_sum = sum' –

+0

@ cricket_007:用戶特別提到他需要創建一個新函數「用* define語句*計算數字的總和」。但我同意你的看法,這確實沒有任何意義。 :/ –

+0

順便提一下,我已經更新了答案。即使我覺得我在那邊提到它是愚蠢的 –

0

你需要調用你的函數,如下面的例子:

data = [92.5, 87.7, 74.8, 93., 91.7, 90.0, 90.3, 92.5, 100.0, 
     100.0, 35.7, 37.4, 21.0] 


def data_sum(data): 
    total = 0.0 
    for element in data: 
     total += element 
    return total 

print data_sum(data) 

另一種可能的方式從列表中值求和使用內建函數sumreduce,像這樣:

print sum(data) 
print reduce(lambda x, y: x + y, data)