2017-09-04 2 views
-5

Je souhaite obtenir la moyenne de la liste sans utiliser la fonction sum(). Ceci est mon code:Moyenne d'une liste de nombres sans fonction de somme

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) 

Mais cela ne fonctionne pas, puis-je vous demander de m'aider à ce sujet?

+0

votre sample_listSum est une liste, cela devrait être une valeur – AK47

+3

Modifier 'sample_listSum = [sample_list [0] + sample_list [1] + sample_list [2] + sample_list [ 3]] 'to' sample_listSum = liste_d'Echantillons [0] + liste_d'Echantillons [1] + liste_d'Echantillons [2] + liste_d'Echantillons [3] '. – campovski

Répondre

1

Votre 2ème ligne crée une nouvelle liste, vous devez supprimer les crochets

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

Merci beaucoup pour votre réponse. pourquoi quand je cours le code mon résultat est 4 pas 5? – Hexal

+0

Je ne suis pas sûr, quelle version de Python utilisez-vous? – AK47

+0

J'utilise python 3, bien sûr, je cours le code sur ubuntu comme ceci $ python3 code.py – Hexal

1

Il suffit de supprimer les crochets:

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

Cependant, vous pouvez également calculer en utilisant statistics.mean (ce n'est pas fonction 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

Mon nouveau code et bonne réponse:

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

"Moyenne" est encore mal orthographié ici. – Jamal