Soyez le premier à donner votre avis sur cette source.
Vue 9 216 fois - Téléchargée 376 fois
# -*- coding: utf-8 -*- from Tkinter import * from random import randrange def dem_pseudo(): "Demande le pseudo de l'utilisateur" global texte1, bouton1, entree1, compteur1, compteur2 texte1 = Label(fenetre1, text='Entrez votre prénom') texte1.pack() entree1 = Entry(fenetre1) entree1.pack() entree1.focus_set() bouton1 = Button(fenetre1, text='Valider', command=(lambda:choix_pseudo(0))) bouton1.pack() bouton2 = Button(fenetre1, text='Bye Bye', command=fenetre1.destroy) bouton2.pack(side=BOTTOM) rajout=Label(fenetre1,text="***But du jeu*** Apprendre et/ou reviser les tables de multiplications",fg='red') rajout.pack(side=BOTTOM) fenetre1.bind('<Return>', choix_pseudo) def choix_pseudo(event): "Choix du pseudo" global texte1, bouton1, entree1, compteur1, compteur2, pseudo try: str(entree1.get()) except: pseudo = "anonyme" else: pseudo = str(entree1.get()) if pseudo == "": pseudo = "anonyme" entree1.destroy() bouton1.destroy() dem_table() def dem_table(): "Demande à l'utilisateur la table" global texte1, bouton1, entree1, compteur1, compteur2, pseudo texte1.configure(text='Veuillez choisir votre table de multiplication :') entree1 = Entry(fenetre1) entree1.pack() entree1.focus_set() bouton1 = Button(fenetre1, text='Valider', command=(lambda:choix_table(0))) bouton1.pack() fenetre1.bind('<Return>', choix_table) def choix_table(event): "Choix de la table à réviser" global table, compteur1, compteur2, texte1, bouton1, entree1, pseudo try: int(entree1.get()) except: table = randrange(1,10) else: table = int(entree1.get()) entree1.destroy() bouton1.destroy() choix_chiffre() def choix_chiffre(): "Choix du chiffre" global table, chiffre, entree1, bouton1, texte1, compteur1, compteur2, pseudo chiffre = randrange(1,10) texte1.configure(text=str(chiffre)+' x '+str(table)+' =') entree1 = Entry(fenetre1) entree1.pack() entree1.focus_set() compteur1 += 1 bouton1 = Button(fenetre1, text='Valider', command=(lambda:val_mult(0))) bouton1.pack() fenetre1.bind('<Return>', val_mult) def val_mult(event): "Validation de la multiplication" global table, chiffre, entree1, bouton1, compteur2, bouton2, texte1, texte2, texte3, compteur1, compteur2, pseudo bouton1.destroy() res_juste = table * chiffre try: int(entree1.get()) except: res_utilisateur = 0 else: res_utilisateur = int(entree1.get()) entree1.destroy() if res_juste == res_utilisateur: texte1.configure(text='Bravo '+str(pseudo)+' ! Tu as trouvé !') compteur2 += 1 else: texte1.configure(text='Faux, la réponse était :'+str(res_juste)) if compteur1 == 10: taux = compteur2 * 100 / 10 texte2 = Label(fenetre1, text='Ton taux de réussite est de : '+str(taux)+' %') texte2.pack() texte3 = Label(fenetre1, text='Veux tu recommencer ?') texte3.pack() bouton1 = Button(fenetre1, text='oui', command=(lambda:recommencer(0))) bouton1.pack() bouton2 = Button(fenetre1, text='non', command=fenetre1.destroy) bouton2.pack() fenetre1.bind('<Return>', recommencer) else: bouton1 = Button(fenetre1, text='on continue :)', command=(lambda:continuer(0))) bouton1.pack() fenetre1.bind('<Return>', continuer) def recommencer(event): "Réinitialisateur" global table, chiffre, entree1, bouton1, compteur2, bouton2, texte1, texte2, texte3, compteur1, compteur2, pseudo texte2.destroy() texte3.destroy() bouton1.destroy() bouton2.destroy() compteur1 = 0 compteur2 = 0 dem_table() def continuer(event): "Réinitialisateur partiel" global table, chiffre, entree1, bouton1, compteur2, bouton2, texte1, texte2, texte3, compteur1, compteur2, pseudo bouton1.destroy() choix_chiffre() # Programme principal fenetre1 = Tk() fenetre1.title('TableX.-V4.1') fenetre1.geometry('350x150') compteur1 = 0 compteur2 = 0 dem_pseudo() fenetre1.mainloop()
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.