Bonjour ,



Le but de mon programme et de faire un validiteur de diplôme

J'ai un problème pour récupérer les notes qu'à saisie l'utilisateur.J'aimerais pouvoir toutes les récupérer.J'arrive à récupérer que la dernière valeur saisie.



Voici mon programme:


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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
 
 
from Tkinter import *
SMaths=[['maths',8],['francais',2],['hg',2],['phisique chimie',5]]
SSVT=[['maths',5],['francais',2],['hg',2],['phisique chimie',5],['svt',8]]
L=[['francais',8],['histoire',8]]
 
# liste contenant les notes de l'utilisateur
ListeNote=[]
 
#action a realiser lors du clic sur valider
def saisieNote():
 
 
    #creation d'un nouveaux formulaire
    from Tkinter import *
    saisieNote=Tk()
    i=0#indice de la liste principale permettant d'acceder au nom
    #valeur selectionner par l'utilisateur dans la liste
 
 
    # pb au niveau du if ou du combo a mettre dans une focntion et l'apeller
 
    if str(combo.get())=="SSVT" :
        Liste=SSVT
    else :
        Liste=SMaths
 
 
    #on parcourt la liste
    for matiere in Liste:
 
        #affichage du nom de la matiere
        info=Label(saisieNote,text= Liste[i][0])
        i=i+1
        #textBox pour que la saisie de l'utilisateur
        saisie = Entry(saisieNote)
        # ajoute a la liste la note saisie
        ListeNote.append(5)# utiliser saisie.get() 5 est une valeur par defaut ici
 
        #fonction grid qui permet de placer les widjet comme si etait dans un tableaux
        info.grid( row =i)
        saisie.grid(row =i,column =1)
    #valider les notes saisie pour afficher les resultats
    btnResultat=Button(saisieNote,text='Resultat',command= afficheResultat)
    btnResultat.grid(row=i+1 ,column=1)
    saisieNote.mainloop()
 
 
def afficheResultat() :
    resultat=Tk()
    # explication des données qui suive
    demandeSaisie=Label(resultat,text= ' Voici vos notes')
    demandeSaisie.pack()
 
   # pb au niveau du if ou du combo
 
    if str(combo.get())=="SSVT" :
        Liste=SSVT
    else :
        Liste=SMaths
 
        i=0
 
    #on parcourt la liste
    for matiere in Liste:
 
        #affichage du nom de la matiere
        infos=Label(resultat,text= Liste[i][0])
 
        # affichage des notes
        noteSaisie=Label(resultat,text=ListeNote[i] )
        i=i+1
        infos.pack()
        noteSaisie.pack()
 
 
    #calcul du nombre de point obtenu
    calcul=0
    sommeCoeif=0
    i=0
    for calcul in Liste :
        calcul= Liste[i][1]*ListeNote[i]             # accede au coeif de la matiere
        coeif=Liste[i][1]
        sommeCoeif= coeif + sommeCoeif # permet de de conaitre le coeificient total
        i=i+1
 
 
    # calcul de la moyenne
    moyenne= calcul/coeif
 
 
     #affichage de la moyenne
    resul=Label(resultat,text= 'Vote moyenne est de : ')
    obtenu=Label(resultat,text=moyenne)
    obtenu.pack()
    resul.pack()
 
 
 
 
    btnFermer=Button(resultat,text='Fermer',command=resultat.destroy)
    btnFermer.pack()
    resultat.mainloop()
 
 
 
# definition du widget principale
fen1=Tk()
 
 
 
import Pmw
#demande de choix de la serie concernant le bac dans une liste
 
serie = ('SMaths ','SSVT ','L ')
fen1 = Pmw.initialise()
combo = Pmw.ComboBox(fen1, labelpos = NW,
                    label_text = 'Choisissez la serie :',
                     scrolledlist_items = serie,
                     listheight = 150)
combo.grid(row =2, columnspan =2, padx =10, pady =10)
combo.pack()
 
 
 
 
 
 
 
#action du bouton valider
btnValider=Button(fen1,text='Valider',command = saisieNote)
btnValider.pack(side=RIGHT)
 
#action du bouton fermer
btnQuitter=Button(fen1,text='Fermer',command=fen1.destroy)
btnQuitter.pack(side=LEFT)
 
 
#lancement du receptionneur d'evenement
fen1.mainloop()