【问题标题】:How can i draw a nice spiral in python with turtle?我怎样才能用乌龟在python中画一个漂亮的螺旋线?
【发布时间】:2018-06-24 07:42:06
【问题描述】:

我有一个作业要在 python 中用海龟绘制一个螺旋线(从内到外),但我想不出一种方法来做到这一点,除了我做了什么之外,它需要像这样:

我尝试这样做,但它无法正常工作。

import turtle

turtle.shape ('turtle')


d = 20  #Distance

a = 1   #StartingAngle
x = 200    #Num of loops 

for i in range (x):
turtle.left(a)
turtle.forward(d)
a = a + 5

【问题讨论】:

  • 你的错误是什么?你能编辑你的问题并描述一下吗?
  • 嗯,链接对我来说是空白的。举例说明为什么您不应该提供指向内容的链接,这个问题应该是独立的。

标签: python turtle-graphics python-turtle


【解决方案1】:

您在循环中增加了错误的变量。

螺旋就像一个“半径随时间增加的圆周”。

您应该随着时间的推移增加d 变量,而不是增加角度a。每个循环的增加量对于确定螺旋的外观至关重要,但您可以通过一些计算或反复试验获得一个良好的增加值。

【讨论】:

  • Tnx 帮帮我:)
【解决方案2】:
import turtle
from math import sin,cos,pi

t=turtle.Turtle()
t.speed(0)

n=50 #number of spirals
d=10 #distance between 2 spirals
r=0  #radius
x,y = 0, 0

cur_r = r
for i in range(n):
    for a in range(1,360, 4):
        r = cur_r + d*a/360.0
        a *= pi/180.0
        y = r*sin(a)
        x = r*cos(a)
        turtle.goto(x,y)
    cur_r += d

【讨论】:

    【解决方案3】:
    import turtle
    
    i=0
    while i<4:
        turtle.speed(0)
        turtle.pensize(1+i)
        turtle.forward(1+i)
        t.color("blue")
        turtle.bgcolor("pink")
        t.lt(3)
        i+=0.003
    

    如果你使用的是IDLE以外的程序(如pycharm),添加

    turtle.mainloop()
    

    在代码末尾

    【讨论】:

      【解决方案4】:
      import turtle as t
      
      for i in range(360):
       t.circle(i,20)
      
      
      

      来源:Explained here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-02
        • 2018-02-20
        相关资源
        最近更新 更多