Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[Python] TableX
Auteur Message
Répondre en citant
Message [Python] TableX 
Bonjour à tous,

si j'ai bien compris, ceci est un endroit ou déposer nos créations quelques soit le langage utilisé.

Si ce n'est pas le cas, n'hésitez pas à me le dire que je retire ce message.

En attendant voici TableX, codé en python par mes soins. Ce soft graphique permet de reviser les tables de multiplication tout en s'amusant. Vous pouvez y entrer le nom du joueur et choisir la table à reviser. Ensuite, il y à 10 questions aléatoires sur la table choisit et en fin de jeu un pourcentage de réussite.

Code:
# -*- 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()


Voici l'image :


Pour l'utiliser, si vous avez un environnement python, il suffit de copier le code ci dessus et de l'enregistrer avec avec l'extension .pyw

Si quelqu'un le veut directement utilisable pour windows, me faire la demande.

Voili, Voilou

Amicalement
Lonewolf




______________________________________________________
Amicalement
Lonewolf
Visiter le site web du posteur
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [Python] TableX 
Tu as très bien compris

Merci pour ton code.
Pourrais tu expliquer comment créer un environnement python ?




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Python] TableX 
Et bien, il suffit de télécharger python et de l'installer.

Ca ne changera strictement rien à ton pc mais tu pourras utiliser un script python directement sans passer par la phase compilation pour pouvoir l'utiliser sur un pc sans environnement python.

Le logiciel python est un logiciel libre dispo un peu partout, par exemple http://www.numerama.com/telecharger/6123-Python.html ou ailleurs

Amicalement
Lonewolf




______________________________________________________
Amicalement
Lonewolf
Visiter le site web du posteur
Répondre en citant
Message [Python] TableX 
Merci Lonewolf pour tes explications Okay

Amicalement,
Laddy




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Python] TableX 
Bonjour,

Très bien, pourrais tu poster le .exe stp ?

Merci !

Batch_Man




______________________________________________________
La sécurité informatique et vous ! = http://batchdhelus.open-web.fr
Répondre en citant
Message [Python] TableX 
Pas de problème... mais comment je m'y prend ?

Je ne vois pas d'"envoyer fichier"

Merci pour ton aide

Amicalement
Lonewolf




______________________________________________________
Amicalement
Lonewolf
Visiter le site web du posteur
Répondre en citant
Message [Python] TableX 
Bonjour
tu as mal regardé enfin il est peut etre mal positionnée juste avant d'entrer dans cette section :

Module d'upload pour vos créations :






______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Python] TableX 
Ceci, je l'avais déjà vu mais ça me renvoie juste à l'interieur du forum sans rien faire de plus Sad

Amicalement
Lonewolf




______________________________________________________
Amicalement
Lonewolf
Visiter le site web du posteur
Répondre en citant
Message [Python] TableX 
Arf doit y avoir une bug Shoot reglera le problème prochainement.

Je ne l'avais pas vu ce bug j'utilise box.net ou mediafire pour mes fichiers.

Voici : http://dl.free.fr/




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Python] TableX 
Bon ben ca me rassure son mon état mental. Mr. Green

Merci Laddy.

Donc le fichier est dispo http://dl.free.fr/q6BW9fVMJ

Bon upload.

Amicalement
Lonewolf




______________________________________________________
Amicalement
Lonewolf
Visiter le site web du posteur
Répondre en citant
Message [Python] TableX 
Moi sa marche trés bien ...

Clique bien sur le bouton "parcourir", une boite de dialogue s'ouvrira.

Sélectionne le fichier, valide par "ok".

Ensuite clique sur envoyer et tu auras une page uplofile.free.fr ouverte t'indiquant ou est ton fichier (quel url)

Bonne chance !

Edit : Pour le script j'avais créer exactement le méme en MS-DOS !

C'est un bon exercice pour débuter Surprised

Le tien est bien réaliser !




______________________________________________________
Citation:
RSS du forum : [ batch.xoo.it/rss.php ]
Visiter le site web du posteur
Répondre en citant
Message [Python] TableX 
Merci pour le compliment.

Amicalement
Lonewolf




______________________________________________________
Amicalement
Lonewolf
Visiter le site web du posteur
Message [Python] TableX 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch