Créer un compteur [Fermé]

Signaler
Messages postés
34
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
1 juin 2016
-
Bonjours, je suis en train de faire un petit QCM et j'aimerais poser un nombre limité de questions mais je n'y arrive pas...
Voici mon programme

from tkinter import *
import random

ListDeQuestionsReponses=[["Question  : Quelle est la capitale du Liban ? "," Beyrouth"," Damas"," Rabat "],
    ["Question  : Quand l'armistice de la seconde Guerre Mondiale a-t-elle ete signee ? "," le 8 mai 1945"," le 11 novemble 1945"," le 18 juin 1940 "],
    ["Question  : Quelle est la capitale de l'Estonie ? "," Tallin"," Riga"," Vilnius"],
    ["Question  : Quelle est la langue maternelle la plus parlee au monde ? "," le mandarin" ," l'anglais"," l'espagnol"],
    ["Question  : Quelle est la langue officielle au Nigeria ? "," L'anglais "," Le nigerian"," L'afrikaans "],
    ["Question  : Qui a realise le pere noel est une ordure ? "," Jean Marie Poire "," Coline Serreau "," Gerard Oury "]]


def Verification(bt):
        Reponse=bt.cget("text")
        if Reponse==ListDeQuestionsReponses[QuestionAuHasard][1]:
                print("Bonne Reponse")
                FenetreQuestion.destroy()
                QCM()
        else:
                print ("Mauvaise Reponse")
                FenetreQuestion.destroy()
                QCM()

x=3
def QCM():
        global Bouton # Les variables globales sont des variables dont la portee s'eend a tout le programme. Elles peuvent etre utilisees par n'importe quelle fonction, contrairement aux variables locales qui ne sont utilisables que dans la fonction dans laquelle elles sont declarees.
        global FenetreQuestion
        global rep
        compteur=len(ListDeQuestionsReponses)
        rep=0

        while compteur >0:
                global QuestionAuHasard
                QuestionAuHasard=random.randint(0,len(ListDeQuestionsReponses)-1) # La fonction randint du module random affiche au hasard une question de la ListeDeQuestionReponses entre ... et ...
                compteur=compteur-1

                FenetreQuestion = Tk()
                FenetreQuestion.title('Question')
                FenetreQuestion.geometry('400x200+600+400')

                Question = Label(FenetreQuestion, text = (ListDeQuestionsReponses[QuestionAuHasard][0]))
                Question.pack(side = TOP, padx = 5, pady = 5)


                Consigne = Label(FenetreQuestion, text = 'Cochez la bonne reponse')
                Consigne.pack(side = TOP, padx = 5, pady = 5)

                ListeReponses = [1,2,3]
                ListeReponses=random.sample(ListeReponses,3) # Renvoie une liste de 3 elements de la listte: ListeReponses (c'est pour les afficher aleatoirement)
                for i in range (3):
                        rep=ListeReponses[i-1]
                        Bouton = Checkbutton(FenetreQuestion, text = (ListDeQuestionsReponses[QuestionAuHasard][rep]))
                        Bouton.config(command=lambda bt=Bouton:  Verification(bt))
                        Bouton.pack(side = TOP, padx = 5, pady = 5)

                Bouton = Button(FenetreQuestion, text ="Quitter", command=FenetreQuestion.destroy )
                Bouton.pack(side = RIGHT, padx = 5, pady = 5)

                return FenetreQuestion

def ihm():
    Mafenetre = Tk()
    Mafenetre.title('QCM')
    Mafenetre.geometry('400x100+600+400')

    Titre = Label(Mafenetre, text = 'Voici un petit QCM ')
    Titre.pack(side = TOP, padx = 5, pady = 5)

    Presentation= Label(Mafenetre, text ='Indiquez votre prenom et cliquez sur commencer ')
    Presentation.pack()
    Prenom = Entry(Mafenetre)
    Prenom.pack()

    Bouton = Button(Mafenetre, text ='Commencer', command = QCM )
    Bouton.pack(side = TOP, padx = 5, pady = 5)
    return Mafenetre

if __name__ == "__main__":
 Mafenetre = ihm()
 Mafenetre.mainloop()


En vous remerciant