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.





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
Voilà. Bon soyez sympa dans les critiques, c'est mon premier programme complexe

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