我正在用Python编写代码,使用turtle来可视化冒泡排序,但速度非常慢。有没有什么方法可以加快速度,因为Python龟的speed(0)
不够快。或者有没有其他方法可以使用Python来完成这类项目?
您应该做的第一件事是确认是海龟图形减缓了速度。例如,在有图形和没有图形的情况下运行气泡排序,看看实际损失了多少时间。
加速乌龟图形的一种方法是使用tracer()
:
screen = turtle.Screen()
# ...
screen.tracer(False) # turn off graphic updates
# ...
# Whenever you make a change you want the user to see:
screen.update() # make screen current
# ...
# When you're completely finished:
screen.tracer(True) # turn graphics updates back on
# ...
screen.mainloop()
在这种情况下,你不需要speed(0)
(又名speed('fastest')
(,尽管离开它不会有什么坏处。一些图形操作会迫使screen.update()
独立于你对它的调用——不要感到惊讶。确保最后tracer(True)
,这样像隐藏乌龟这样的事情才能正常工作。
最后,在上面的问题中添加一个最小的代码示例,以便进行适当的审查。