如何让 Python 乌龟做一个算术螺旋?

问题描述

我是 Turtle 的新手,但我制作螺旋的总体计划是定义一个递归函数 archSpiral(initialLen,increment,angle,n),它执行以下序列 n 次:

  1. 画一条initialLen的线段
  2. angle
  3. 并用 initialLen 增加 increment

通过一遍又一遍地重复这个序列,它应该能够创建一个螺旋。

但是我在将这个过程写入文本时遇到了麻烦,到目前为止我已经

def archSpiral(initialLen,n):
    for _ in range(n):
        turtle.forward(initialLen)
        turtle.left(angle)
        turtle.foward(initialLen + increment)

但它不起作用,我被困在这里

解决方法

只是重申 Doyousketch2 所说的话:

def archSpiral(initialLen,increment,angle,n):
    for _ in range(n):
        turtle.forward(initialLen)
        turtle.left(angle)
        initialLen += increment
,

另一种方法是将更多的工作推到 range() 上:

def archSpiral(initialLen,n):
    for length in range(initialLen,initialLen + increment * n,increment):
        turtle.forward(length)
        turtle.left(angle)