Boucle for dans une boucle while

- - Dernière réponse :  Vivic - 6 juin 2019 à 08:38
Bonjour,
je suis actuellement sur un programme ou je dois rentrer des notes dans une boucle. J'ai 12 listes donc 12 boucles while. J'aimerais savoir si je peux optimiser mon programme et mettre une boucle for dans while pour éviter de trop me répéter. Je pense que je peux faire un tableau à 2 dimensions. J'ai beau chercher je ne trouve pas. merci d'avance pour votre aide. Je vous met le code :
###J'IMPORTE LES BIBLIOTHEQUES DONT J'AI BESOIN###
import math
import os

###JE COMMENCE MON PROGRAMME###
#Janvier
a = []
m = 0

while m!= "fin":
m = input("Entrez les notes de Janvier ou écrire 'fin' si il n'y a plus de note a entrer : ")
if m!= "fin":
m = float(m)
a.append(m)
a = sum(a)
print(a)

#Février
b = []
n = 0

while n!= "fin":
n = input("Entrez les notes de Février ou écrire 'fin' si il n'y a plus de note a entrer : ")
if n!= "fin":
n = float(n)
b.append(n)
b = sum(b)
print(b)

#Mars
c = []
o = 0

while o!= "fin":
o = input("Entrez les notes de Mars ou écrire 'fin' si il n'y a plus de note a entrer : ")
if o!= "fin":
o = float(o)
c.append(o)
c = sum(c)
print(c)

#Avril
d = []
p = 0

while p!= "fin":
p = input("Entrez les notes de Avril ou écrire 'fin' si il n'y a plus de note a entrer : ")
if p!= "fin":
p = float(p)
d.append(p)
d = sum(d)
print(d)

#Mai
e = []
q = 0

while q!= "fin":
q = input("Entrez les notes de Mai ou écrire 'fin' si il n'y a plus de note a entrer : ")
if q!= "fin":
q = float(q)
e.append(q)
e = sum(e)
print(e)

#Juin
f = []
r = 0

while r!= "fin":
r = input("Entrez les notes de Juin ou écrire 'fin' si il n'y a plus de note a entrer : ")
if r!= "fin":
r = float(r)
f.append(r)
f = sum(f)
print(f)

#Juillet
g = []
s = 0

while s!= "fin":
s = input("Entrez les notes de Juillet ou écrire 'fin' si il n'y a plus de note a entrer : ")
if s!= "fin":
s = float(s)
g.append(s)
g = sum(g)
print(g)

#Aout
h = []
t = 0

while t!= "fin":
t = input("Entrez les notes de Aout ou écrire 'fin' si il n'y a plus de note a entrer : ")
if t!= "fin":
t = float(t)
h.append(t)
h = sum(h)
print(h)

#Septembre
i = []
u = 0

while u!= "fin":
u = input("Entrez les notes de Septembre ou écrire 'fin' si il n'y a plus de note a entrer : ")
if u!= "fin":
u = float(u)
i.append(u)
i = sum(i)
print(i)

#Octobre
j = []
v = 0

while v!= "fin":
v = input("Entrez les notes de Octobre ou écrire 'fin' si il n'y a plus de note a entrer : ")
if v!= "fin":
v = float(v)
j.append(v)
j = sum(j)
print(j)

#Novembre
k = []
w = 0

while w!= "fin":
w = input("Entrez les notes de Novembre ou écrire 'fin' si il n'y a plus de note a entrer : ")
if w!= "fin":
w = float(w)
k.append(w)
k = sum(k)
print(k)

#Décembre
l = []
x = 0

while x!= "fin":
x = input("Entrez les notes de Décembre ou écrire 'fin' si il n'y a plus de note a entrer : ")
if x!= "fin":
x = float(x)
l.append(x)
l = sum(l)
print(l)

y = a + b + c + d + e + f + g + h + i + j + k + l
z = y/12
print("La moyenne de chaque mois est de " + str(z) + "€")
os.system("pause")
Afficher la suite 

1 réponse

Messages postés
79
Date d'inscription
vendredi 20 juin 2014
Statut
Membre
Dernière intervention
7 juin 2019
22
0
Merci
Salut,
voila ton programme avec une boucle for:
###J'IMPORTE LES BIBLIOTHEQUES DONT J'AI BESOIN###
import math
import os

###JE COMMENCE MON PROGRAMME###

mois = ["Janvier","Février","Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Décembre"]

for i in mois:
	a = []
	sommes = []
	m=""
	while m!= "fin":
		m = input("Entrez les notes de "+i+" ou écrire 'fin' si il n'y a plus de note a entrer : ")
		if m!= "fin":
			note = float(m)
			a.append(note)
	a = sum(a)
	print(a)
	sommes.append(a)

y = sum(sommes)
z = y/12
print("La moyenne de chaque mois est de " + str(z) + "€")
os.system("pause")


Mais attention ici tu calcule la moyenne des sommes des notes de chaque mois...
Ce n'est peut-être pas ce que tu veut.
C'est exactement ce que je voulais.
Un grand merci pour ton aide.
Commenter la réponse de bobonou