如何解决重新开始随机数猜谜游戏
到目前为止,我已经用python创建了一个猜随机数的游戏。它工作正常,但我想创建一个重置按钮,允许用户再次猜测但与第一次不同的数字。这是我目前的代码
import tkinter as tk
import random
randombroj=random.randint(0,10)
def check():
result=int(glvnes.get()) #the value of entry widget
if result==randombroj:
gldugme.grid_forget() #hide check button widget
glvnes.grid_forget() #hide entry widget
bravo=tk.Label(root,text="Congratulations!!") #congratulations widget
bravo.config(width=40)
bravo.grid(pady=0,row=1)
def restart(): #restart function located in check function
randombroj=random.randint(0,10) #get new random number
bravo.destroy() #destroy congratulations widget
weset.destroy() #destroy restart button
gldugme.grid(pady=20,row=2) #display again check button
glvnes.grid(pady=0,row=1) #display again entry widget
weset=tk.Button(root,text="Restart",font=("arial italic",18),bg='#6BDF63',command=restart) #the restart button
weset.config(width=13,heigh=2)
weset.grid(pady=20,row=2)
root=tk.Tk()
root.title("Guess The Secret Number")
root.geometry('450x250')
root.config(bg="#F2E06B")
glmeni=tk.Label(root,text="Can you gess the secret number?",bg='#8CCEC0',19)) #main widget
glmeni.config(heigh=2)
glmeni.grid(pady=30,padx=28,row=0)
glvnes=tk.Entry(root,text="Enter number here:") #entry box
glvnes.config(width=40)
glvnes.grid(pady=0,row=1)
gldugme=tk.Button(root,text="Check",command=check) #check button
gldugme.config(width=13,heigh=2)
gldugme.grid(pady=20,row=2)
root.mainloop()
当您按下复选按钮时,如果正确则会显示祝贺,然后复选按钮被重置按钮取代。当我单击它时,条目小部件和复选按钮重新打开,但随机值不会改变。它保持第一次。我该如何解决?
解决方法
您需要从条目中删除最后一个猜测并在 randomobroj
中声明 restart()
为全局:
def restart(): #restart function located in check function
global randombroj
glvnes.delete(0,"end") # clear last guess
...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。