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() | 
Partager