这是我在stackoverflow上的第一篇文章,如果不是很清楚,我很抱歉。所以,我需要帮助我的 CompSci 课程的程序。
以下是说明:
在窗口中心初始化 1000 个点。
- 在每个时间步重复 1000 次...
- 翻转一个四面硬币,然后向上或向下或向左或向右移动一个点。- 我们的想法是为 1000 点中的每一个独立地执行此操作。因此,一个点的运动不会影响任何其他点的运动。
- 在每个点的当前位置绘制一个“点”或 1 x 1 矩形。
- 附上三个屏幕截图,显示早期、中期和晚期分布。
我已经粘贴了我到目前为止的内容:
这段代码的问题是:它不会显示“移动”的点。我的导师希望它像动画一样。因为有 1000 个点并且它们移动了 1000 次,所以不同“帧”之间的延迟必须非常短。
如果有人可以帮助我做到这一点,我将非常感激。
from Tkinter import Tk, Canvas
from random import randint
d=0
t=0
v=1000
x = []
y = []
for i in range(1000):
x.append(300)
y.append(300)
root=Tk()
canvas=Canvas(root, width=600, height=600, bg="white")#creates the canvas
for l in range(v):
for k in range(t):
for i in range(len(x)):
x[i] += randint(-2,2)
y[i] += randint(-2,2)
for i in range(1000):
canvas.create_rectangle(x[i],y[i],x[i],y[i])
if l < 999:
for i in range(1000):
canvas.create_rectangle(x[i],y[i],x[i],y[i], outline='white')
t+=1
l+=1
canvas.pack()
root.mainloop()