You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python turtle绘制算术螺旋?

Turtle算术螺旋代码问题修复

核心错误点

  • 逻辑不符合预期:需求要求单轮循环仅执行「画线段→转向→更新长度」3步,现有代码每轮循环绘制了2次线段,且从未更新initialLen变量,长度增量没有被累计到后续绘制步骤
  • 拼写错误:foward为错误写法,Turtle库前进方法的正确拼写为forward
  • 实现方式不符:你提到要使用递归实现,现有代码实际使用的是循环逻辑

修正代码

循环实现版本(性能更稳定,无递归深度限制)

import turtle

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

# 测试示例
turtle.speed(0)
archSpiral(1, 2, 90, 50)
turtle.done()

递归实现版本(符合最初设计思路)

import turtle

def archSpiral(initialLen, increment, angle, n):
    # 递归终止条件:执行次数为0时结束
    if n <= 0:
        return
    turtle.forward(initialLen)
    turtle.left(angle)
    # 传入更新后的长度、次数减1,进入下一轮递归
    archSpiral(initialLen + increment, increment, angle, n - 1)

# 测试示例
turtle.speed(0)
archSpiral(1, 2, 90, 50)
turtle.done()

参数调整说明

修改angle参数可得到不同形态的螺旋:

  • 90度对应正方形螺旋
  • 120度对应三角形螺旋
  • 144度对应五角星螺旋
    修改increment参数可调整螺旋的扩张速度。

内容的提问来源于stack exchange,提问作者duck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 15:24:04