Bonjour à tous,
Je suis débutant et j'ai fait un programme pour calculer la probabilité d'un nombre, puis j'ai voulu le faire avec une interface graphique, grace à Tkinter. Seulement voila, sa ne marche pas, je n'arrive pas à faire un bon script.
Voici le script "normal" :
Running = True #variable principale
RunningNombreDeJete = True #variables pour les boucles d'exceptions.
RunningDeChoisi = True
RunningNombreChoisi = True
RunningRejouer = True
while Running:
while RunningNombreDeJete: #boucles d'exceptions
try: #exception
print ""
NombreDeJete = int(raw_input ("Entrer le nombre de fois que sera jeté le dé : "))
break
RunningNombreDeJete = False
except ValueError:
print ""
print "veuillez entrer un nombre entier valide"
RunningNombreDeJete = True
while RunningDeChoisi:
try:
print ""
print "Choisisser le dé que vous voulez dans la liste : "
print "1- Pièce de monnaie"
print "2- Dé à 4 faces"
print "3- Dé à 6 faces"
print "4- Dé à 8 faces"
print "5- Dé à 10 faces"
print "6- Dé à 12 faces"
print "7- Dé à 20 faces"
print "8- Dé à 100 faces"
DeChoisi = int(raw_input ("Entrer le n° du dé : "))
break
RunningDeChoisi = False
except ValueError:
print ""
print "Veuillez entrer un nombre entier valide"
RunningDeChoisi = True
NombreMaxi = 0 #choix du nombre du dé maxi
if DeChoisi == 1:
NombreMaxi = 2
elif DeChoisi == 2:
NombreMaxi = 4
elif DeChoisi == 3:
NombreMaxi = 6
elif DeChoisi == 4:
NombreMaxi = 8
elif DeChoisi == 5:
NombreMaxi = 10
elif DeChoisi == 6:
NombreMaxi = 12
elif DeChoisi == 7:
NombreMaxi = 20
elif DeChoisi == 8:
NombreMaxi = 100
print ""
print "Choisisser maintenant un nombres dont vous voulez calculer la probabilité, allant de 1 à",NombreMaxi," : "
while RunningNombreChoisi:
try:
print ""
NombreChoisi = int(raw_input (""))
break
RunningNombreChoisi = False
except ValueError:
print ""
print "Veuillez entrer un nombre entier valide"
RunningNombreChoisi = True
i = 0
Resultat = 0
while i < NombreDeJete: #calcul de la probabilité
import random
De = random.randint (1,NombreMaxi)
i += 1
if De == NombreChoisi:
Resultat = Resultat + 1
print "Le nombre",NombreChoisi,"est apparu",Resultat,"fois en",NombreDeJete,"jet de dé à",NombreMaxi,"faces ."
print "" #inscription du resultat
while RunningRejouer: #boucle qui demande à l'utilisateur s'il veut recommencer
try:
print ""
Rejouer = int(raw_input ("rejouer? 1 pour oui et 0 pour non : "))
break
RunningRejouer = False
except ValueError:
print ""
print "Veuillez entrer un nombre entier valide"
RunningRejouer = True
if Rejouer == 1:
Running = True
print ""
print "________________________________________________________________________________"
print ""
elif Rejouer == 0:
Running = False
Et avec Tkinter :
from Tkinter import *
def Calculs():
i=0
Resultat = 0
while i<NombreDeJete:
import random
De = random.randint (1,NombreMaxi)
i +=1
if De == NombreChoisi:
Resultat += 1
fen3 = Tk()
Resultat=Label(fen3, fg="red")
Resulat.pack()
def NombreMaxi1():
NombreMaxi = 2
def NombreMaxi2():
NombreMaxi = 4
def NombreMaxi3():
NombreMaxi = 6
def NombreMaxi4():
NombreMaxi = 8
def NombreMaxi5():
NombreMaxi = 10
def NombreMaxi6():
NombreMaxi = 12
def NombreMaxi7():
NombreMaxi = 20
def NombreMaxi8():
NombreMaxi = 100
def NombreDeJete():
fen2 = Tk()
text2=Label(fen2, text = "Entrer le nombre de fois que sera jeté le dé : ",fg = "black")
BoutonQuitter2 = Button(fen2, text="Quitter",fg = "black", command = fen.quit)
NombreDeJete = Entry(fen2)
text3=Label(fen2, text = "choisissez maintenant le dé voulu : ",fg = "black")
BoutonDe1 = Button(fen2, text="Pièce de monnaie", command = NombreMaxi1 = 2)
BoutonDe2 = Button(fen2, text="Dé à 4 faces", command = NombreMaxi2)
BoutonDe3 = Button(fen2, text="Dé à 6 faces", command = NombreMaxi3)
BoutonDe4 = Button(fen2, text="Dé à 8 faces", command = NombreMaxi4)
BoutonDe5 = Button(fen2, text="Dé à 10 faces", command = NombreMaxi5)
BoutonDe6 = Button(fen2, text="Dé à 12 faces", command = NombreMaxi6)
BoutonDe7 = Button(fen2, text="Dé à 20 faces", command = NombreMaxi7)
BoutonDe8 = Button(fen2, text="Dé à 100 faces", command = NombreMaxi8)
text4=Label(fen2, text="quel nombre, compris entre 1 et le maximum voulez vous connaitre la probabilité?", fg = "black")
NombreChoisi = Entry(fen2)
BoutonCalculer = Button(fen2, text="Calculer!", command = Calculs)
text2.pack()
NombreDeJete.pack()
text3.pack()
BoutonDe1.pack()
BoutonDe2.pack()
BoutonDe3.pack()
BoutonDe4.pack()
BoutonDe5.pack()
BoutonDe6.pack()
BoutonDe7.pack()
BoutonDe8.pack()
text4.pack()
NombreChoisi.pack()
BoutonCalculer.pack()
BoutonQuitter2.pack()
fen = Tk()
text=Label(fen, text="Bonjour. Vous allez pouvoir calculer la probabilité d'un nombre.",fg = "black")
BoutonQuitter = Button(fen, text="Quitter",fg = "black", command = fen.quit)
BoutonCommencer = Button(fen, text="Commencer",fg = "black", command = NombreDeJete)
text.pack()
BoutonCommencer.pack()
BoutonQuitter.pack()
fen.mainloop()
Je sais, je me suis compliqué la vie dans mes scripts, mais je ne connait pas assez de balises pour faire mieux. Si quelqu'un pouvait m'aider à trouver un bon script pour Tkinter, en s'aidant de ce que j'ai fait, je suis preneur.
Merci beaucoup à tous.
B.