Partage
  • Partager sur Facebook
  • Partager sur Twitter

BESOIN D'AIDE QUIZ POUR LE BAC

    23 mai 2019 à 18:49:27

    Bonsoir,

    J'ai besoin d'aide pour mon projet de bac en isn, je fais un quiz de révision en histoire mais il me reste encore quelques problèmes à régler mais plus beaucoup de temps... Je voudrais par exemple que lorsque l'utilisateur clique sur un bouton pour réponse, le programme puisse vérifier qu'il a cliquer sur la bonne réponse est comptabiliser les points. Ou encore que lorsqu'il appuie sur la réponse, on passe à la question suivante du même chapitre. J'ai essayer plusieur méthodes mais aucune n'a aboutit. J'ai très peur de ne pas y parvenir avant l'écheance, aidez moi s'il vous plait !

    from tkinter import * # importe la bibliothèque Tkinter qui permet la création d'interfaces graphiques.
    from random import * # importe la fonction random qui sert pour le choix aléatoire des questions.
    
    
    # Création des chapitres (chaque liste représente un chapitre):
    
    #Fonction avec les questions sur Moyen Orient:
    
    def choix_ch(theme):
    	"""
    
    	fonction permettant d'ouvrir le fichier avec le chapitre sur le Moyen Orient
    
    	"""
    
    	fichier=open(theme, "r",encoding="utf8")
    
    	liste_questions = fichier.readlines()
    	fichier.close()
    
    	nbre_questions = len(liste_questions)//5
    
    	choix_question = randint(0,nbre_questions - 1)
    
    	pos = 5* choix_question
    
    	question = [liste_questions[i] for i in range(pos,pos+4)]
    	
    
    	item_widget["q"] = Label(cadreQuestion,bg="#FFFFFF",text=question[0])
    	item_widget["q"].pack()
    	
    	item_widget["p1"]= Button(cadreQuestion, bg="#FFFFFF", text=question[1],
    	command= supp_bouton)
    	item_widget["p2"]= Button(cadreQuestion, bg="#FFFFFF", text=question[2],
    	command= supp_bouton)
    	item_widget["p3"]= Button(cadreQuestion, bg="#FFFFFF", text=question[3],
    	command=supp_bouton)
    	item_widget["p1"].pack()
    	item_widget["p2"].pack()
    	item_widget["p3"].pack()
    	return
    
    boutonValiderTheme = Button (cadreQuestion, text="ENTRER", command = resultat_choix)
    boutonValiderTheme.pack(padx=15, pady=15)
     
    def M_O ():
    	choix_ch("Moyen_orient.txt")
    	answers = 
    
    #Fonction avec les questions sur La Seconde guerre mondiale
    
    def SGM():
    
    	"""
        fonction permettant d'ouvrir le fichier avec le chapitre sur 
        la Seconde guerre mondiale
    	"""
    	choix_ch("SGM.txt")
    #Fonction avec les questions sur la Chine
    
    
    
    def Chine():
    
    	"""
    		fonction permettant d'ouvrir le fichier avec le chapitre sur 
    		la Chine 
    	"""
    	choix_ch("Chine.txt")
    
    	return 
    
    #Fonction avec les questions sur les Etats unis
    
    def USA ():
    
    	"""
    		fonction permettant d'ouvrir le fichier avec le chapitre sur les 
    		Etats Unis
    	"""
    	choix_ch("usa.txt")
    
    #Fonction avec les questions sur Gouverner la France
    
    
    
    def gouv_France ():
    
    	"""
    		fonction permettant d'ouvrir le fichier avec le chapitre Gouverner 
    		la France
    	"""
    	choix_ch("gouverner_france.txt")
    
    	
    #Fonction avec les questions sur Gouvernance Européenne
    
    
    def gouv_Europe ():
    
    	"""
    		fonction permettant d'ouvrir le fichier avec le chapitre 
    		gouvernance européenne
    	"""
    
    	choix_ch("gouvernance_européenne.txt")
    
    
    #Fonction avec les questions sur la gouvernance mondiale
    
    def gouv_monde ():
    
    	"""
    		fonction permettant d'ouvrir le fichier avec le chapitre sur la
    		Gouvernance économique mondiale
    	"""
    
    	choix_ch("gouvernance_eco_mondiale.txt")
    	 
    #Fonction avec les questions sur la Mondialisation
    
    def Mondialisation ():
    
    	"""
    		fonction permettant d'ouvrir le fichier avec le chapitre sur la
    		Mondialisation
    	"""
    
    	choix_ch("mondialisation.txt")
    
    def supp_bouton ():
    	"""
    	"""
    	item_widget["q"].destroy()
    	item_widget["p1"].destroy()
    	item_widget["p2"].destroy()
    	item_widget["p3"].destroy()
    	
    
    
    	
    	
    # Création de la fenêtre principal.
    # programme principal
    item_widget = dict() # variable globale
    fenetre=Tk()
    fenetre.title('QUIZ BAC')
    fenetre.geometry("1200x800")
    fenetre.config(background="white")
    fenetre.resizable(1,1)
    
    #Création du cadre pour selectionner le thème.
    cadre_Theme = Frame(fenetre, bg= "white", borderwidth=20,relief=SUNKEN)
    # Affiche le cadreTheme.
    cadre_Theme.grid(row=0, padx=20, pady=10, sticky =W)
    # Affiche le titre dans le cadreTheme (qui sert de consigne au sein du cadre).
    Label(cadre_Theme, text="Choisissez un chapitre:").pack(padx=50, pady=10)
    
     
    # Création des boutons avec des valeurs pour choisir quelle matière réviser.
    
    choix_theme = IntVar(value=0)
    bt1 = Button(cadre_Theme, bg="#A4EFDE", text="Moyen-Orient", command=M_O)
    bt2 = Button(cadre_Theme, bg="#89EBD5", text="2nd Guerre Mondiale", command=SGM)
    bt3 = Button(cadre_Theme, bg="#67EDCF", text="Chine", command=Chine)
    bt4 = Button(cadre_Theme, bg="#50A390" ,text="Etats-Unis", command=USA)
    bt5 = Button(cadre_Theme, bg="#408374" ,text="Gouverner la France", command=gouv_France)
    bt6 = Button(cadre_Theme, bg="#1A7E67", text="Gouvernance Européenne", command=gouv_Europe)
    bt7 = Button(cadre_Theme, bg= "#206959",text="Gouvernance économique Mondiale ", command=gouv_monde)
    bt8 = Button(cadre_Theme, bg="#1E473E", text="Mondialisation", command= Mondialisation)
    
    # Affichage des boutons dans le "cadreTheme".
    
    bt1.pack()
    bt2.pack()
    bt3.pack()
    bt4.pack()
    bt5.pack()
    bt6.pack()
    bt7.pack()
    bt8.pack()
    
    # Création du cadre pour les questions/Réponses.
    
    cadreQuestion= Frame(bg="#B1FAEF", width=600, height=1200, borderwidth=0, relief=GROOVE)
    # Affiche le cadreQuestion.
    cadreQuestion.grid()
    # Affiche le titre dans le cadreQuestion.
    Label(cadreQuestion, text="Question :").pack()
    # Canvas pour afficher la question.
    my_question = Canvas(cadreQuestion, width=1200, height=0, background='#B1FAEF')
    my_question.pack()
    
    
    # Création d'un cadre pour afficher le score.
    cadreScore = Frame(fenetre, background = "white",  borderwidth=20, relief= SUNKEN)
    # Affiche le cadreScore.
    cadreScore.grid(row=0, column=0, padx=20, sticky =E)
    # Affiche le titre du cadreScore.
    Label(cadreScore, text="Score :").pack(padx=20, pady=20)
    
     
    # Création d'un cadre dans le "cadreScore" pour Afficher le nombre de bonne réponse.
    cadreVrai = Frame(cadreScore, bg="lightgreen", borderwidth=2, relief=GROOVE)
    # Affiche le cadreVrai.
    cadreVrai.pack(side=LEFT, padx=10, pady=10)
    # Affiche le titre du cadreVrai.
    Label(cadreVrai, text="Vrai : )", bg="lightgreen").pack(padx=15, pady=15)
    
    
    compteur1 = 0 # Compteur de bonnes réponses
    
    def inc1():
    
        val = infos['valeur']
        v += 1
        infos['valeur'] = val
    
     
        my_bonnrep.itemconfig(text, text=int(val))
    
     
    
    infos = {'valeur': compteur1, }
    
    my_bonnrep = Canvas(cadreVrai, width=20, height=20)
    my_bonnrep.pack()
    
    # Création d'un cadre dans le "cadreScore" pour afficher le nombre de mauvaise réponse.
    cadreFaux = Frame(cadreScore, bg="salmon", borderwidth=2, relief=GROOVE)
    # Affiche le cadreFaux.
    cadreFaux.pack(side=LEFT, padx=10, pady=10)
    # Affiche le titre du cadreFaux.
    Label(cadreFaux, text="Faux :<", bg="salmon").pack(padx=15, pady=15)
    
     
    compteur2 = 0 # Compteur de mauvaises réponses
    
    
    def inc2():
    
        val = infos['valeur']
        v += 1
        infos['valeur'] = val
     
        my_mauvrep.itemconfig(text, text=int(val))
    
    
    infos = {'valeur': compteur2, }
    
     
    my_mauvrep = Canvas(cadreFaux, width=20, height=20)
    my_mauvrep.pack()
    
    
    # Création d'un cadre dans le "cadreScore" pour afficher le pourcentage de bonne réponse.
    cadreSoit = Frame(cadreScore, bg="#FF1E4A", borderwidth=2, relief=GROOVE)
    # Affiche le cadreSoit.
    cadreSoit.pack(side=LEFT, padx=10, pady=10)
    # Affiche le titre du cadreSoit.
    Label(cadreSoit, text="TOTAL :", bg="white").pack(padx=15, pady=15)
    
    cpt2 = 0 # Compteur de mauvaises réponses
    
    
    def inc2():
    
        val = infos['valeur']
        v += 1
        infos['valeur'] = val
    
    
        my_mauvrep.itemconfig(text, text=int(val))
    
    infos = {'valeur': cpt2, }
    
    my_mauvrep = Canvas(cadreSoit, width=20, height=20)
    my_mauvrep.pack()
    
    mainloop()
    
    
    • Partager sur Facebook
    • Partager sur Twitter

    BESOIN D'AIDE QUIZ POUR LE BAC

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown