如何让 Python 乌龟做算术螺旋?
How to have Python turtle make an arithmetic spiral?
我是 Turtle 的新手,但我制作螺旋的总体计划是定义一个递归函数 archSpiral(initialLen, increment, angle, n)
,它执行以下序列 n
次:
- 画一条
initialLen
的线段
- 转
angle
度
- 并用
increment
递增 initialLen
通过一遍又一遍地重复这个序列,它应该能够创建一个螺旋。
但是我无法将此过程写入文本,到目前为止我已经
def archSpiral(initialLen, increment, angle, 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, increment, angle, n):
for length in range(initialLen, initialLen + increment * n, increment):
turtle.forward(length)
turtle.left(angle)
我是 Turtle 的新手,但我制作螺旋的总体计划是定义一个递归函数 archSpiral(initialLen, increment, angle, n)
,它执行以下序列 n
次:
- 画一条
initialLen
的线段
- 转
angle
度 - 并用
increment
递增
initialLen
通过一遍又一遍地重复这个序列,它应该能够创建一个螺旋。
但是我无法将此过程写入文本,到目前为止我已经
def archSpiral(initialLen, increment, angle, 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, increment, angle, n):
for length in range(initialLen, initialLen + increment * n, increment):
turtle.forward(length)
turtle.left(angle)