【发布时间】:2021-01-27 12:57:14
【问题描述】:
import tkinter as tk
import random
root = tk.Tk()
canvas = tk.Canvas(root, height=600, width=700, bg="#4f75b3")
canvas.pack()
frame = tk.Frame(root, bg="#66bd5e")
frame.place(relx=0.075, rely=0.075, relheight=0.85, relwidth=0.85,)
def destroymole():
mole.destroy()
xcoords = random.randrange(100, 500, 10)
ycoords = random.randrange(100, 500, 10)
mole = tk.Button(root, text="MOLE", relief="raised", command=destroymole, height=1, width=10,
bg="brown")
mole.place(x=xcoords, y=ycoords)
for i in range(15):
def destroymole():
mole.destroy()
return destroymole()
xcoords = random.randrange(100, 500, 10)
ycoords = random.randrange(100, 500, 10)
mole = tk.Button(root, text="MOLE", relief="raised", command=destroymole, height=1, width=10,
bg="brown")
mole.place(x=xcoords, y=ycoords)
root.mainloop()
我怎样才能让循环等到一个“鼹鼠”被摧毁再产生另一个?
另外,会引发错误
RecursionError: 调用 Python 对象时超出最大递归深度
每当我按下多个按钮来销毁它时。
这也有助于解决 destroymole() 不按特定按钮的问题,因为屏幕上一次只有一个痣。
【问题讨论】: