from tkinter import* import time,random tk = Tk() canvas = Canvas(tk, width=1000, height=600, bg="white") canvas.pack() def create(): for z in range(num): canvas.create_arc(470,270,530,330,start=30,extent=300,fill="yellow") statas.append([500,300]) def move(): global statas while True: for ID in range(num): dx = random.randint(-20, 20) dy = random.randint(-20, 20) canvas.move(ID + 1, dx, dy) statas[ID][0] += dx statas[ID][1] += dy reverse(ID) tk.update() time.sleep(0.05 / num) def reverse(ID): global statas if statas[ID][0] > 1000: statas[ID][0] += -1000; canvas.move(ID + 1, -1000, 0) elif statas[ID][0] < 0: statas[ID][0] += 1000; canvas.move(ID + 1, 1000, 0) if statas[ID][1] > 600: statas[ID][1] += -600; canvas.move(ID + 1, 0, -600) elif statas[ID][1] < 0: statas[ID][1] += 600; canvas.move(ID + 1, 0, 600) statas = [] num = int(input("ŒÂ”")) create() move()