Bonjour,
Je n'arrive pas à comprendre pourquoi mon programme ne se finit jamais et ainsi je ne peux pas avoir les resulats la console pyhton affiche : "ValueError: empty range for randrange() (0,0, 0)"

Quizztest.py

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
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.compteur=0
		self.nombre_de_question=0
		self.start = True
 
		self.liste_questions=["Question  : Qu’est-ce qui favorise l’augmentation du CO2 atmosphérique ?\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) La géothermie  2) L’utilisation de l’énergie renouvelable  3) La déforestation ",\
						"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('1000x500+300+300')
 
		self.Label1 = Label(self.Mafenetre, text = 'Voici un petit QCM présenté par Benjamin et Samuel ')
		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()
		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)
 
		self.load_question_answer()
 
 
 
 
	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()