擅长:python、mysql、java
<p>这是带有<code>after</code>的脚本<code>for/while</code>循环与<code>mainloop</code>相混淆。因此,您不应该使用它们或在单独的线程上运行它们。类似地,<code>time.sleep()</code>暂停执行<code>mainloop</code></p>
<pre><code>from tkinter import *
import random
import time
root =Tk()
num2 =0
def dice():
global num2
if num2!=20:
num=["\u2680","\u2681","\u2682","\u2683","\u2684","\u2685"]
roll=f'{random.choice(num)}'
dice_label.config(text=roll)
num2+=1
root.after(500,dice)
else:
num2=0
welcome_label= Label(root, text="Welcome to Dice Roll")
welcome_label.grid(row=0,column=0)
dice_label=Label(root,font=("Helvitica",300,"bold"),text="")
dice_label.grid(row=1,column=0)
button= Button(root,text="Click to Roll",padx=50, command=dice)
button.grid(row=2,column=0)
root.mainloop()
</code></pre>