Salutations à tous et à toutes !
Ce soir je me suis lancé dans un projet, me disant que je m'y connaissais assez en Python pour faire un programme capable de donner la moyenne générale d'un élève en fonction de ses moyennes, du nombre de moyennes, mais aussi avec des baremes diffèrents : une moyenne sur 40, une autre sur 20, etc. De plus, à la fin, on pourra faire un classement des matières. Bon je me suis lancé, j'avoue que le code est TRES TRES embrouillé. Je vous le donne je suis sympa. Le code n'est pas fini, il me manque la dernière partie, le classement.
Voilà. Bon soyez sympa dans les critiques, c'est mon premier programme complexe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90 #-----------------------------------PRISE DES DONNEES DE L'UTILISATEUR------------------------- print " ---------------BIENVENUE---------------" print "\n" print "Ce programme permet de calculer votre moyenne et d'en faire les statistiques." print "\n" subjects=[] moyennes=[] c=0 nombre=input("Combien avez-vous de matieres ? ") print "\n" c=0 while c<nombre : data = raw_input("Tapez le nom de la matiere : ") subjects.append(data) data=0 float(data) data = input("Tapez la moyenne obtenue (exemple : 16.5/20) : ") if data > 1 : error=0 while error<1 : print "__Erreur__ Vous devez utiliser une fraction " data=input("->Tapez la moyenne obtenue (exemple : 16.5/20) : ") if data>1 : error=0 else : error=1 moyennes.append(data) c+=1 elif data < 0 : error=0 while error<1: print "__Erreur__ Vous devez donner un resultat superieur ou egal a 0 " data=input("->Tapez la moyenne obtenue (exemple : 16.5/20) : ") if data>1 : error=0 else : error=1 moyennes.append(data) c+=1 else : moyennes.append(data) c+=1 #-------------------------------CALCUL DE LA MOYENNE GENERALE------------------------ lon=len(moyennes) c=0 bignote=0 while c<lon : bignote=moyennes[c]+bignote c=c+1 bignote=bignote-(lon*0.01) finale = bignote/(lon) print "\n" print "L'etape suivante va vous permettre de choisir le type de moyenne que vous voulez. Si vous la desirez en pourcentage, tapez P . Si vous la desirez sous forme d'une fraction (exemple : 15.2/20), tapez F." print "\n" t_moy=raw_input("Quel est votre choix ? ") error=0 if t_moy == "P" : moy = finale * 100 div="%" print "\n" print "Votre moyenne est de : ",moy,div elif t_moy == "F" : div = input("Quel est le nombre que vous souhaitez comme denominateur ? ") moy = div * finale deno=str(div) div="/"+deno print "\n" print "Votre moyenne est de : ",moy,div else : while error<1 : print "Vous avez commis une erreur. Refaites un choix en prenant compte des majuscules : " error=0 t_moy=raw_input("Quel est votre choix ? ") if t_moy == "P" : moy = finale * 100 error = 1 div="%" print "\n" print "Votre moyenne est de : ",moy,div elif t_moy == "F" : div = input("Quel est le nombre que vous souhaitez comme denominateur ? ") moy = div * finale error = 1 deno=str(div) div="/"+deno print "Votre moyenne est de : ",moy,div
Si vous faites un copier coller du code puis que vous l'exécutez, vous remarquerez que la moyenne générale sera toujours égale à 0 :s . Je sais pourquoi, la variable data n'est pas une float. Comment faire pour avoir une moyenne sil vous plait ?
Merci à tous ceux qui liront au moins mon code pour le critiquer
![]()
Partager