Je ne sais pas pourquoi cela ne fonctionne pas, j'ai regardé et je ne peux pas voir ce qui ne va pas, je l'ai embêté pendant un moment tout ce que je veux, c'est que ça marche . obtient sorties d'entrée un nombre égal à généré au hasard si nombre total est égal au hasard, alors vous gagnez, mais il se bloque juste au moment où je presse le boutonprogramme se bloque lorsque appuyez sur le bouton - Nombre devinez jeu - Tkinter
from tkinter import *
from tkinter import ttk
import random
master = Tk()
master.title('Guess The Number!')
global answer
global guess_entry
global guess_display
answer = str(random.randint(1000,9999))
guess_counter = 0
def callback():
print('Button pressed')
counter = 0
correct = []
while counter < 4:
if guess_entry.get() == answer:
correct.append('Well done, that is correct')
break
elif guess_entry.get()[counter] == answer[counter]:
correct.append(guess_entry.get[counter])
counter += 1
guess_display['text'] = ' '.join(str(correct))
def Help():
win = Toplevel()
win.title('Help')
l = Label(win, text="Guess a 4 digit number and I will tell you\n what you got right,\n keep trying until you get it in the \ncorrect order with correct numbers")
l.grid(row=0, column=0)
b = Button(win, text="Okay", command=win.destroy)
b.grid(row=1, column=0)
guess_entry = Entry(master)
guess_check = Button(master, text='Guess', command=callback)
guess_display = Label(master,text='_ _ _ _')
help_button = ttk.Button(master, text="?", command=Help,width=3)
guess_entry.grid(row=0,column=2)
guess_check.grid(row=1,column=2)
guess_display.grid(row=2,column=1)
help_button.grid(row=0,column=4)
master.mainloop()
Votre boucle while semble inutile. À aucun moment de la boucle, l'utilisateur n'a la possibilité d'entrer des données. 'guess_entry.get()' va retourner exactement la même chose à chaque itération de la boucle. –
@BryanOakley ils n'ont pas besoin d'entrer quoi que ce soit une vérification pour voir les chiffres qui sont égaux. – Catmantj
@BryanOakley Oakly et le guess_entry.get() je suppose que vous voulez dire le 'si guess_entry.get() == answer:' c'est-à-dire de vérifier si le nombre entier est correct et pas seulement – Catmantj