Partage
  • Partager sur Facebook
  • Partager sur Twitter

générateur de calcul mental - Projet final ISN

Langage PYTHON 3.4 - module TKINTER

    15 mai 2015 à 20:57:29

    Bonjour,

    Dans notre générateur de calcul mental nous avons plusieurs icônes a créer, 3 :

    La première comportant un bouton "lancer" qui mène vers une seconde en quittant la première, Les niveaux de difficulté du générateur,Le message de bienvenue.

    Dans la seconde nous voulons insérer le générateur de calcul, il comporte deux parties, l'une avec la question "combien de calculs voulez vous effectuer?" et la deuxième avec le lancement du calcul (troisième icône), seulement il faut les séparer en deux icônes différentes pour y ajouter le niveau de difficulté.

    La troisième qui afficherais le score a la fin de la partie, et qui comporterai un délai de temps pour répondre au calcul. Parce que sinon c'est trop facile.

    Problèmes :

    _ Le générateur de calcul ne se lance que dans la console tkinter au lieu d'être dans une fenêtre (quel widget?)

    _ Séparer la menu/calcul et générer une nouvelle fenêtre à la réponse au nombre de calculs choisis.

    _ Afficher les scores en fin de partie 

    _ Petit problème en passant d'un pc windows à mac, la barre de menu et les niveaux non plus.

    Ci-dessous mon programme et celui de mon collègue:

    _ Pour la première fenêtre 

    from tkinter import *

    import tkinter as tk

    import tkinter.ttk as ttk

    #creation de la fenêtre principale

    fenetre1=Tk()

    fenetre1.geometry("300x150+10+10") # dimension et position par defaut

    fenetre1.title("CALCULATOR - Identifiez-vous") # titre de la fenetre

    fenetre1.minsize(300,50) # taille minimum de la fenetre

    fenetre1.maxsize(300,150) # taille maximum de la fenetre

    fenetre1.positionfrom("user") # placement manuel de la fenetre

    fenetre1.sizefrom("user") # dimensionnement manuel de la fenetre

    # bouton lancer qui envoi au moteur du programme, les calculs(partie de tristan)

    def zut():

    t=Toplevel()

    a=Button(t,text='Tristan!',command=t.destroy)

    a.pack()

    b = Button(fenetre1, text='Lancer', command=zut)

    b.pack()

    #Création des variables

    p = StringVar()

    m = StringVar()

    # message principal placé en haut de la fenêtre

    connectez_vs = Label(fenetre1, text="Bienvenue sur CALCULATOR, veuillez vous identifier. ")

    connectez_vs.pack(side = TOP)

    # on fait une première frame

    frame1 = Frame(fenetre1)

    frame1.pack(side = TOP)

    pseudotext = Label(frame1, text="Pseudo: ")

    pseudotext.pack(side = LEFT)

    pseudo = Entry(frame1, textvariable=p,width=30)

    # on fait une deuxième frame

    frame1 = Frame(fenetre1)

    frame1.pack(side=TOP)

    mdptext = Label(frame1, text=" Mdp: ")

    mdptext.pack(side=LEFT)

    mdp = Entry(frame1, textvariable=m,width=30)

    mdp.pack(side=LEFT)

    pseudo.pack(side=LEFT)

    values = [ 'Facile', 'Moyen', 'Difficile' ]

    champ_label= Label(fenetre1,text="Calcul mental")

    champ_label.pack()

    bouton_quitter = Button(fenetre1, text="Quitter", foreground="red", command=fenetre1.quit)

    bouton_quitter.pack()

    # Création d'un widget Menu

    menubar = Menu(fenetre1)

    menufichier = Menu(menubar,tearoff=0)

    menufichier.add_command(label="Nouvelle partie",command=open)

    menubar.add_cascade(label="Fichier", menu=menufichier)

    menuscores = Menu(menubar,tearoff=0)

    menuscores.add_command(label="Meilleures Scores", )

    menubar.add_cascade(label="Score", menu=menuscores)

    menuaide = Menu(menubar,tearoff=0)

    # Affichage du menu

    fenetre1.config(menu=menubar)

    # Création d'un widget Canvas

    Canevas = Canvas(fenetre1)

    Canevas.pack(padx=5,pady=5)

    # Utilisation d'un dictionnaire pour conserver une référence

    gifdict={}

    fenetre1.mainloop()

    Pour la deuxième 

    import random

    def menu():

    fois='-1'

    while(fois=='-1'):

    try:

    fois = int(input("Combien de calculs souhaitez vous faire ? >>"))

    except:

    print ('La chose que vous venez d\'entrer ne semble pas etre un nombre')

    fois=('-1')

    calcul(fois)

    def calcul(fois):

    ensemble = 0

    while ensemble < fois:

    a = random.randint(0,10)

    b = random.randint(0,10)

    signe = random.randint(1,3)

    resultat_2='-1'

    if signe == 1:

    resultat_1 = a + b

    print (a, "+", b, "=")

    elif signe == 2:

    resultat_1 = a - b

    print (a, "-", b, "=")

    else:

    resultat_1 = a * b

    print (a, "*", b, "=")

    while(resultat_2=='-1'):

    try:

    resultat_2 = int(input("Resultat >>"))

    except:

    print ('Le resultat que vous venez d\'entrer ne semble pas etre un nombre')

    if resultat_1 == resultat_2:

    print ("Bravo")

    else:

    print ("Dommage")

    ensemble = ensemble + 1

    # Main

    menu()

    Cordialement, nous recherchons de l'aide !

    • Partager sur Facebook
    • Partager sur Twitter

    générateur de calcul mental - Projet final ISN

    × 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