Boucle for dans une boucle while

Fermé
Vivic - 5 juin 2019 à 13:48
 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")

1 réponse

bobonou Messages postés 79 Date d'inscription vendredi 20 juin 2014 Statut Membre Dernière intervention 7 juin 2019 43
5 juin 2019 à 17:59
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.
0
C'est exactement ce que je voulais.
Un grand merci pour ton aide.
0