IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tkinter Python Discussion :

QCM sur python


Sujet :

Tkinter Python

  1. #21
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    On est la pour aider, pas pour faire tout le travail . Aucun soucis pour donner du code à condition que le demandeur fasse des efforts.

    Bref, j'ai indiqué que tout devait se passer dans la classe. Ce que tu as fait est correct à une exception pret. Tu dois faire un if pas un while. De mêm tu dois tester la taille. Tu dois donc faire un len(self.xxx). Je ne teste pas mais cela devrais convenir

  2. #22
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 21
    Points : 23
    Points
    23
    Par défaut
    Ah mais je tient à t'assurer que j'y passe du temps dessus ^^

    Enfin bref je te remercie pour ta précieuse aide maintenant je pense reussir à me débrouiller et ajouter quelques fonctions dans le graphisme !

    Bonne continuation !

  3. #23
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Je sais que tu travaille dessus, et c'est pour ça que je t'aide .

    Si tu pense avoir fini avec ce post, n'oublie pas de le passer à Resolu (petit bouton en bas du post)

  4. #24
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 21
    Points : 23
    Points
    23
    Par défaut
    une dernière chose avant bizarrement le compteur ne prend pas les bonnes réponses j'ai même mis le compteur pour toutes les questions et il restait toujours à 0, n'aurais tu pas un indice pour moi s'il te plait sans me donner la réponse , je préfère trouver par moi même ^^

    ( Pour fermer le sujet je voudrais bien mais ce n'est pas mon sujet je demanderais à mon collègue )

  5. #25
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Ben en lisant le code, je me dit que si le compteur n'indique pas la bonne valeur c'est qu'il compte mal, et si cela se produit, c'est que le test permettant le comptage debloque. Donc teste les variable de ton test pour commencer.

  6. #26
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 21
    Points : 23
    Points
    23
    Par défaut
    alors dans ma démarche, j'ai fait afficher self.Q pour voir si ce que j'écrivais dans le champs de saisie était la même chose marche , le soucis c'est lors du

    "if self.Q== (self.liste_réponse[self.n])
    compteur = compteur +1

    je fais print compteur et il est toujours égale à 0..

    j'ai aussi afficher en haut le numéros de la bonne réponse et j'en ai aussi conclu que ça ne venait pas de là.

    Es-qu'il faut que je fasse global compteur ou un truc de ce genre ?

  7. #27
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Désolé du retard, grand week end

    Quand tu dis que tu as afficher le self.Q et le compteur, comment as tu fait? il faut placer les print avant le if, et tester self.Q, self.liste_réponse[self.n], et self.compteur

  8. #28
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 21
    Points : 23
    Points
    23
    Par défaut
    Bonjour , pas de soucis !


    Alors oui j'ai testé les print avant les if et c'est le compteur qui ne marche pas. Car self.Q affiche bien ce que je marque dans le champs de saisie et liste reponse affiche bien la bonne réponse .

    Donc j'ai pensé que le problème venez d'un soucis de globalisation de la variable mais j'ai essayé global self.compteur, à mon grand regret cela n'a pas marché ^^

  9. #29
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Salut,

    Alors un global avec un self ça ne peux marcher. Dans une classe, le self équivaut au global.

    Pourrais tu mle poster ton code complet avec les print que tu as ajouter? Des ce soir (si je suis pas encore couché), ou des demain soir, je fais tourner le code sur mon poste et regarde de plus prés cela. Comme ça je pensais juste à un probleme de test, mais il y a peut etre autre chose. Il faut donc que je parte de ton code

  10. #30
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 21
    Points : 23
    Points
    23
    Par défaut
    D'accord ,
    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
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    from tkinter import *
    from math import *
    import random
    import time
     
     
     
     
    class MonIhm():
    # Création de la fenêtre principale (main window)
     
    	def __init__(self):
     
    		self.nombre_de_question=0
    		self.start = True
    		self.compteur=0
    		self.liste_questions=["Question  : Quelle est la capitale du Liban ?\n ",\
    							"Question  : Quand l'armistice de la seconde Guerre Mondiale a-t-elle été signée ? ",\
    							"Question  : Quelle est la capitale de l'Estonie /n? ",\
    							"Question  : Quelle est la langue maternelle la plus parlée au monde ? \n",\
    							"Question  : Quelle est la langue officielle au Nigeria \n?",\
    							"Question  : Qui a réalisé le père noel est une ordure ? \n",\
    							"Question  : Quel est l'état le plus grand des Etats-Unis ?",\
    							"Question  : Qui a écrit l'Assommoir ? \n",\
    							"Question  : La pénicilline a été découverte par : \n",\
    							"Question  : Le premier président de la République était : \n",\
    							"Question  : En quelle année ont été créées les régions ? \n",\
    							"Question : Que collectionne un conchyophile ? \n",\
    							"Question  : Quelle est la ville la plus peuplée du monde ? \n",\
    							"Question  : Quelle formule mathématique permet d'établir les développements limités ? \n",\
    							"Question  : Quel évènement a marqué l'année 1935 ? \n",\
    							"Question : Quelle est la hauteur de la Tour Eiffel ? \n",\
    							"Question  : Quel est l'organe le plus volumineux et le plus massif parmi ceux-ci ? \n",\
    							"Question : En quelle année Neil Amstrong a-t-il posé le premier pas sur la lune ? \n",\
    							"Question : Quel chanteur fait partie des Rolling Stones ? \n",\
    							"Question : Quelle équipe de football a remporté la première coupe du monde en 1930 ? \n"]
     
    		self.liste_choix=["1) Beyrouth,2) Damas,3) Rabat ",\
    						"1) 8 mai 1945,2) 11 novemble 1945,3) 18 juin 1940 ",\
    						"1) Riga,2) Tallin,3) Vilnius",\
    						"1) L'Anglais,2) L'espagnol,  3) le chinois madarin ",\
    						"1) L'anglais,2) Le nigerian,3) L'afrikaans ",\
    						"1) Coline Serreau,2) Gerard Oury,3) Jean Marie Poiré ",\
    						"1) Le Texas,2) L'Alaska,3) Le Montana ",\
    						"1) Stendhal,2) Flaubert,3) Zola ",\
    						"1) Ian Fleming,2) Alexander Flening,3) Marie Curie ",\
    						"1) R.Coty,2) A.Pinay,3) V.Auriol ",\
    						"1) 1806,2) 1956,3) 1901 ",\
    						"1) Des bières,2) des coquillages,3) Des animaux empaillés ",\
    						"1) Tokyo,2) Mexico,3) New York ",\
    						"1) Schrodinger,2) Crutz,3) Taylor ",\
    						"1) Les lois sociales du Front populaire,2) Lois de Nüremberg,3) Hitler chancelier ",\
    						"1) 250 mètres,2) 324 mètres,3) 295 mètres ",\
    						"1) Le foie,2) L'estomac,3) Le colon ",\
    						"1) 1967,2) 1969,3) 1971 ",\
    						"1) Jonh Lennon,2) Mick Jagger,3) Brian Johnson ",\
    						"1) Italie,2) Brésil,3) Uruguay "]
     
    		self.liste_reponse=[1,1,2,3,1,3,2,3,2,3,2,2,1,3,2,2,1,2,2,3]
     
    		self.construct_ihm()
     
     
     
     
     
    	def construct_ihm(self):		
    		self.Mafenetre = Tk()
     
    		self.Mafenetre.title('QCM')
    		self.Mafenetre.geometry('400x300+600+400')
     
    		self.Label1 = Label(self.Mafenetre, text = 'Voici un petit QCM présenté par Jonathan, Thibault , Landry ')
    		self.Label1.pack(side = TOP, padx = 5, pady = 5)
     
     
    		self.Label2 = Label(self.Mafenetre, text = 'Voulez- vous commencez ? ')
    		self.Label2.pack(side = LEFT, padx = 5, pady = 5)
     
    		self.Bouton_yes = Button(self.Mafenetre, text ='Oui', command = self.load_question_answer )
    		self.Bouton_yes.pack(side = LEFT, padx = 5, pady = 5)
     
    		self.Bouton_no = Button(self.Mafenetre, text ="Non", command = self.Mafenetre.destroy )
    		self.Bouton_no.pack(side = LEFT, padx = 5, pady = 5)
     
     
     
     
     
    	def start_ihm(self):
    		self.Mafenetre.mainloop()
     
     
     
     
    	def load_question_answer(self):
    		if self.start == True:
    			self.Bouton_yes.pack_forget()
    			self.Bouton_no.pack_forget()
     
    			self.Q=StringVar
    			self.Champ = Entry(self.Mafenetre, textvariable= self.Q, show='', bg ='bisque', fg='maroon')
    			self.Champ.focus_set()
    			self.Champ.pack(side = LEFT, padx = 5, pady = 5)
     
    			self.Bouton_verif = Button(self.Mafenetre, text ='Valider', command = self.read_answer)
    			self.Bouton_verif.pack(side = LEFT, padx = 5, pady = 5)
     
    			self.Mafenetre.title('Question')
     
     
    			self.start = False
     
    		self.n=random.randint(0,len (self.liste_questions)-1)
    		self.Label1.config(text="%s"%(self.liste_questions[self.n],))
    		self.Label2.config(text="%s"%(self.liste_choix[self.n],))
     
     
     
     
     
     
     
     
    	def read_answer(self):
    		self.Q=self.Champ.get()
    		print(self.Q)
    		print(self.liste_reponse[self.n])
    		print (self.compteur)
     
    		if (self.Q) == (self.liste_reponse[self.n]):
     
    		   self.compteur += 1
     
     
     
    		self.liste_questions.pop(self.n)
    		self.liste_choix.pop(self.n)
    		self.liste_reponse.pop(self.n)
     
     
    		if  len(self.liste_questions)> 0:
    			self.load_question_answer()
     
     
    		else :
    			self.result()
     
     
     
     
     
     
     
     
    	def result(self):
    		self.Label1.config(text="Note: %s"%(self.compteur))
     
     
    		if self.compteur == 20 :
    			self.Label2.config(text="20/20...Que pouvons nous dire... si ce n'est BRAVO")
    		elif 19>=self.compteur>=16 :
    			self.Label2.config(text="19/20 C'est presque excellent... Courage ! Le succes est au bout du chemin.")
    		elif 15>=self.compteur>=12 :
    			self.Label2.config(text="Tu as entre 12/20 et 15/20. Ne sois pas modeste, tu peux mieux faire !")
    		elif 11>=self.compteur>=10 :
    			self.Label2.config(text="Tu as entre 10/20 et 11/20. Il faut tra-vai-ller !")
    		elif 9>=self.compteur>=6 :
    			self.Label2.config(text="Tu as entre 9 et 6. Tu sais ce qu'il te reste à faire ..." )
    		elif 5>=self.compteur>=0 :
    			self.Label2.config(text="Tu as en dessous de 5/20... Sans commentaire...")
     
     
     
     
     
    if __name__ == "__main__":
    	main_window = MonIhm()
    	main_window.start_ihm()
     
    	main_window.load_question_answer()
     
     
    	main_window.result()
    Je pensais sinon que cela pouvait être un problème du à son emplacement non ?

  11. #31
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Salut, je viens de tester et effecitvement, bien que Q et l'autre soit "identique" le compteur ne s'incremente pas. SI à priori c'est identique mais que le code se comporte comme si cela ne l'était pas alors il y a un truc.

    En fait, c'est une erreur qui arrive souvent. Il faut savoir que c'est une chose a laquelle on pense pas forcement, mais tres importante:

    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
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
     
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
     
    #Ligne 1 necessaire sous Linux
     
    #Pour python 2.7
    from Tkinter import *
    from math import *
    import random
    import time
     
    #Pour python 3.X
    #from tkinter import *
    #from math import *
    #import random
    #import time
     
     
     
     
    class MonIhm():
    # Création de la fenêtre principale (main window)
     
    	def __init__(self):
     
    		self.nombre_de_question=0
    		self.start = True
    		self.compteur=0
    		self.liste_questions=["Question  : Quelle est la capitale du Liban ?\n ",\
    							"Question  : Quand l'armistice de la seconde Guerre Mondiale a-t-elle été signée ? ",\
    							"Question  : Quelle est la capitale de l'Estonie /n? ",\
    							"Question  : Quelle est la langue maternelle la plus parlée au monde ? \n",\
    							"Question  : Quelle est la langue officielle au Nigeria \n?",\
    							"Question  : Qui a réalisé le père noel est une ordure ? \n",\
    							"Question  : Quel est l'état le plus grand des Etats-Unis ?",\
    							"Question  : Qui a écrit l'Assommoir ? \n",\
    							"Question  : La pénicilline a été découverte par : \n",\
    							"Question  : Le premier président de la République était : \n",\
    							"Question  : En quelle année ont été créées les régions ? \n",\
    							"Question : Que collectionne un conchyophile ? \n",\
    							"Question  : Quelle est la ville la plus peuplée du monde ? \n",\
    							"Question  : Quelle formule mathématique permet d'établir les développements limités ? \n",\
    							"Question  : Quel évènement a marqué l'année 1935 ? \n",\
    							"Question : Quelle est la hauteur de la Tour Eiffel ? \n",\
    							"Question  : Quel est l'organe le plus volumineux et le plus massif parmi ceux-ci ? \n",\
    							"Question : En quelle année Neil Amstrong a-t-il posé le premier pas sur la lune ? \n",\
    							"Question : Quel chanteur fait partie des Rolling Stones ? \n",\
    							"Question : Quelle équipe de football a remporté la première coupe du monde en 1930 ? \n"]
     
    		self.liste_choix=["1) Beyrouth,2) Damas,3) Rabat ",\
    						"1) 8 mai 1945,2) 11 novemble 1945,3) 18 juin 1940 ",\
    						"1) Riga,2) Tallin,3) Vilnius",\
    						"1) L'Anglais,2) L'espagnol,  3) le chinois madarin ",\
    						"1) L'anglais,2) Le nigerian,3) L'afrikaans ",\
    						"1) Coline Serreau,2) Gerard Oury,3) Jean Marie Poiré ",\
    						"1) Le Texas,2) L'Alaska,3) Le Montana ",\
    						"1) Stendhal,2) Flaubert,3) Zola ",\
    						"1) Ian Fleming,2) Alexander Flening,3) Marie Curie ",\
    						"1) R.Coty,2) A.Pinay,3) V.Auriol ",\
    						"1) 1806,2) 1956,3) 1901 ",\
    						"1) Des bières,2) des coquillages,3) Des animaux empaillés ",\
    						"1) Tokyo,2) Mexico,3) New York ",\
    						"1) Schrodinger,2) Crutz,3) Taylor ",\
    						"1) Les lois sociales du Front populaire,2) Lois de Nüremberg,3) Hitler chancelier ",\
    						"1) 250 mètres,2) 324 mètres,3) 295 mètres ",\
    						"1) Le foie,2) L'estomac,3) Le colon ",\
    						"1) 1967,2) 1969,3) 1971 ",\
    						"1) Jonh Lennon,2) Mick Jagger,3) Brian Johnson ",\
    						"1) Italie,2) Brésil,3) Uruguay "]
     
    		self.liste_reponse=[1,1,2,3,1,3,2,3,2,3,2,2,1,3,2,2,1,2,2,3]
     
    		self.construct_ihm()
     
     
     
     
     
    	def construct_ihm(self):		
    		self.Mafenetre = Tk()
     
    		self.Mafenetre.title('QCM')
    		self.Mafenetre.geometry('400x300+600+400')
     
    		self.Label1 = Label(self.Mafenetre, text = 'Voici un petit QCM présenté par Jonathan, Thibault , Landry ')
    		self.Label1.pack(side = TOP, padx = 5, pady = 5)
     
     
    		self.Label2 = Label(self.Mafenetre, text = 'Voulez- vous commencez ? ')
    		self.Label2.pack(side = LEFT, padx = 5, pady = 5)
     
    		self.Bouton_yes = Button(self.Mafenetre, text ='Oui', command = self.load_question_answer )
    		self.Bouton_yes.pack(side = LEFT, padx = 5, pady = 5)
     
    		self.Bouton_no = Button(self.Mafenetre, text ="Non", command = self.Mafenetre.destroy )
    		self.Bouton_no.pack(side = LEFT, padx = 5, pady = 5)
     
     
     
     
    	def start_ihm(self):
    		self.Mafenetre.mainloop()
     
     
     
     
    	def load_question_answer(self):
    		if self.start == True:
    			self.Bouton_yes.pack_forget()
    			self.Bouton_no.pack_forget()
     
    			self.Q=StringVar
    			self.Champ = Entry(self.Mafenetre, textvariable= self.Q, show='', bg ='bisque', fg='maroon')
    			self.Champ.focus_set()
    			self.Champ.pack(side = LEFT, padx = 5, pady = 5)
     
    			self.Bouton_verif = Button(self.Mafenetre, text ='Valider', command = self.read_answer)
    			self.Bouton_verif.pack(side = LEFT, padx = 5, pady = 5)
     
    			self.Mafenetre.title('Question')
     
     
    			self.start = False
     
    		self.n=random.randint(0,len (self.liste_questions)-1)
    		self.Label1.config(text="%s"%(self.liste_questions[self.n],))
    		self.Label2.config(text="%s"%(self.liste_choix[self.n],))
     
     
     
     
     
     
     
     
    	def read_answer(self):
    		self.Q=self.Champ.get()
    		print("self.q:" + str(self.Q), (type(self.Q)))
    		print("liste_rep:" + str(self.liste_reponse[self.n]), type(self.liste_reponse[self.n]))
    		print("cptr:" + str(self.compteur))
     
    		if (self.Q) == (self.liste_reponse[self.n]):
    		   self.compteur += 1
     
    		self.liste_questions.pop(self.n)
    		self.liste_choix.pop(self.n)
    		self.liste_reponse.pop(self.n)
     
    		if  len(self.liste_questions)> 0:
    			self.load_question_answer()
    		else :
    			self.result()
     
     
     
     
     
     
     
     
    	def result(self):
    		self.Label1.config(text="Note: %s"%(self.compteur))
     
     
    		if self.compteur == 20 :
    			self.Label2.config(text="20/20...Que pouvons nous dire... si ce n'est BRAVO")
    		elif 19>=self.compteur>=16 :
    			self.Label2.config(text="19/20 C'est presque excellent... Courage ! Le succes est au bout du chemin.")
    		elif 15>=self.compteur>=12 :
    			self.Label2.config(text="Tu as entre 12/20 et 15/20. Ne sois pas modeste, tu peux mieux faire !")
    		elif 11>=self.compteur>=10 :
    			self.Label2.config(text="Tu as entre 10/20 et 11/20. Il faut tra-vai-ller !")
    		elif 9>=self.compteur>=6 :
    			self.Label2.config(text="Tu as entre 9 et 6. Tu sais ce qu'il te reste à faire ..." )
    		elif 5>=self.compteur>=0 :
    			self.Label2.config(text="Tu as en dessous de 5/20... Sans commentaire...")
     
     
     
     
     
    if __name__ == "__main__":
    	main_window = MonIhm()
    	main_window.start_ihm()
     
    	main_window.load_question_answer()
    Dans ce code, tu voit que j'ai ajouté un print du type de chaque variable. On peut y voir que tu compare un int avec une string. Tu as oublié de transtypé la reponse. Un simple int(self.Q) dans ton if resoudra le probleme.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if int(self.Q) == (self.liste_reponse[self.n]):
    		   self.compteur += 1

  12. #32
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 21
    Points : 23
    Points
    23
    Par défaut
    Ah merci !

    En faites les int c'est pour les nombres et les string les lettres non ?

  13. #33
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    C'est ça et tu peux effectuer ce qu'on appelle du transtypage, c'est à dire transformer d'un type à un autre, sous certaines conditions.

    Par exemple, si à est un int et vaut 6, si tu fait un str(a), alors a sera un string et vaudra "6", mais le caractère, plus la valeur.

    Pour aller un peu plus loin, tu as eval().

    Par exemple, disons que tu as une formule de type a+b/c. Tu dis que resultat = eval("a+b/c"), dans une fonction. Ensuite tu peux definir a, b, c comme tu le veut (entier ou float), et executer la commande eval. Cela est très pratique pour certains programme. Mais c'est juste un leger commentaire annexe.

  14. #34
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 21
    Points : 23
    Points
    23
    Par défaut
    Je te remercie beaucoup, c'est vrai que tu as raison on ne pense pas forcément à transtypé mais comme ce cas ci ça peut devenir un problème !

  15. #35
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Eh oui, tu y penseras maintenant

    Si tu considère ce post comme abouti, n'oublie pas de le passer en Resolu

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. acoustique, musique sur Python
    Par Papou_28 dans le forum Programmation multimédia/Jeux
    Réponses: 7
    Dernier message: 25/04/2007, 08h12
  2. Application reseau de neurone sur python!
    Par tnouss dans le forum Calcul scientifique
    Réponses: 3
    Dernier message: 15/04/2007, 20h18
  3. Boucles sur python
    Par Spitfire378 dans le forum Général Python
    Réponses: 10
    Dernier message: 08/04/2007, 20h46
  4. Comment obtenir une adresse mac sur python
    Par Wael Maaoui dans le forum Réseau/Web
    Réponses: 4
    Dernier message: 19/02/2007, 13h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo