2017-09-04 83 views
-5

我想獲得名單的平均不使用sum()功能。這是我的代碼:平均數字列表的總和沒有功能

sample_list = [2, 10, 3, 5] 

sample_listSum =[sample_list[0]+ sample_list[1]+ sample_list[2]+ sample_list[3]] 

sample_listLength = len(sample_list) 

sample_listAvrage = sample_listSum/sample_listLength 

print("This is result of list", sample_listAvrage) 

但它不工作,請問你幫我嗎?

+0

您sample_listSum是一個列表,這應該是一個價值 – AK47

+3

變化'sample_listSum = [sample_list [0] + sample_list [1] + sample_list [2] + sample_list [ 3]]'到'sample_listSum = sample_list [0] + sample_list [1] + sample_list [2] + sample_list [3]'。 – campovski

回答

1

你的第二行是創建一個新的列表,你需要刪除括號

sample_list = [2, 10, 3, 5] 
sample_listSum = sample_list[0] + sample_list[1] + sample_list[2] + sample_list[3] 
sample_listLength = len(sample_list) 
sample_listAvrage = sample_listSum/sample_listLength 
print("This is the result of list", sample_listLength) 
>> This is result of list 5.0 
+0

非常感謝您的回答。爲什麼當我運行代碼時,我的結果是4而不是5? – Hexal

+0

我不確定,您使用的是哪個版本的Python? – AK47

+0

我使用python 3,我當然運行在這樣$ python3 code.py – Hexal

1

只需卸下支架:

sample_listSum = sample_list[0]+ sample_list[1]+ sample_list[2]+ sample_list[3] 

但是你也可以使用statistics.mean計算的話(這不是sum功能):

>>> import statistics 
>>> statistics.mean(sample_list) 
5 
1
>>> s = [2, 10, 3, 5] 
>>> a = 0 
>>> 
>>> for i in s: 
...  a += i 
... 
>>> print a 
20 
>>> mean = a/float(len(s)) 
>>> mean 
5.0 
-1

我的新代碼與正確答案:

sample_list = [2, 10, 3, 5] 

x =[sample_list[0]+ sample_list[1]+ sample_list[2]+ sample_list[3]] 

b = len (sample_list) 

avrage = x/b 

print("This is result of list", avrage) 
+0

「平均」還是拼寫錯在這裏Ubuntu的代碼。 – Jamal