2

我有一个练习,我必须用 Python 乌龟画很多圆圈。我已经设置speed(0)并且正在使用:

from turtle import*
speed(0)
i=0
while i < 360:
    forward(1)
    left(1)
    i+=1

画圆圈。需要这么长时间。有没有更快的方法?

4

4 回答 4

6

你试过了吗turtle.delay()请参阅此处此处turtle.tracer()的文档。这些设置屏幕刷新的选项是造成大部分延迟的原因。

于 2013-09-01T04:33:03.423 回答
1

您可以绘制更少的线段,因此您可以选择 120,而不是 360:

while i < 360:
    forward(3)
    left(3)
    i+=3

这将使您的圆圈不那么平滑,但绘制速度会快三倍。

于 2013-05-18T12:46:05.800 回答
1

circle() 方法可能不会更快,但可能更容易管理: turtle.circle()

于 2013-05-18T22:14:14.133 回答
0

使用多线程同时绘制两个半圆。最初海龟将位于 (0,0),因此只需克隆海龟并使它们都面向相反的方向 180°,然后绘制半圆。代码如下:

from threading import Thread
import turtle
t = turtle.Turtle()
t.speed(0)
def semi1(r):
   r.circle(50,180)
def semi2(t):
   t.circle(50,180)

r = t.clone()
r.rt(180)

a = Thread(target=semi1).start()
b = Thread(target=semi2).start()

这可能会快速绘制圆圈。

于 2020-11-18T15:10:28.993 回答