Comportement que je ne comprends pas
Bonjour,
Ce code boucle sur des saisies de nombres et affiche en temps réel le nombre de saisie et la moyenne des nombres entrés.
On sort en saisissant un nombre négatif.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| tt = []
avg = 0
i, n = 0, 1
while True:
tt.append(float(input("Entrez une note : ")))
if tt[i] < 0:
del(tt[i])
break
print("NOMBRE de note(s) saisie(s) =", n)
avg = (avg + tt[i]) / n
print("MOYENNE de(s) note(s) saisie(s) =", avg)
i = i + 1
n = n + 1 |
Le calcul des moyennes fonctionne bien sur 2 saisies à la troisième les chiffres sont faux.
Même si j'écris :
Code:
1 2 3 4
| ...print("NOMBRE de note(s) saisie(s) =", n)
avg = avg + tt[i]
avg = avg / n
print("MOYENNE de(s) note(s) saisie(s) =", avg)... |
Tout fonctionne parfaitement bien si j'écris :
Code:
1 2 3
| ...print("NOMBRE de note(s) saisie(s) =", n)
avg = avg + tt[i]
print("MOYENNE de(s) note(s) saisie(s) =", avg / n)... |
ou en ajoutant une variable :
Code:
1 2 3 4
| ...print("NOMBRE de note(s) saisie(s) =", n)
tot = tot + tt[i]
avg = tot / n
print("MOYENNE de(s) note(s) saisie(s) =", avg)... |
je ne comprends pas pourquoi, pouvez-vous m'éclairer SVP?