Python 中的方形螺旋边(海龟图形)

Side in a Square Spiral In Python (Turtle Graphics)

我创建了一个程序,可以使用 Turtle 图形在 Python 中生成方形螺旋线。

我有点不确定的是螺旋的边。

我目前的程序是:

from turtle import *
startLength = int(input("Please enter the length of first side: "))
decrement = int(input("Please enter the change in length of side: "))
for i in range (3,8):
    startLength = startLength - decrement
    forward(startLength)
    left(90)

当我可以提示用户像这样输入边数时效果会更好:

from turtle import *
startLength = int(input("Please enter the length of first side: "))
decrement = int(input("Please enter the change in length of side: "))
sideNum = int(input("Please enter the number of sides: "))
for i in range (sideNum):
    startLength = startLength - decrement
    forward(startLength)
    left(90)

但我只能要求用户输入起始长度和递减量。

如何在不要求用户输入边数的情况下创建具有正确边数的螺旋线?

您可以查看线路的长度,当它变得太小时停止它,例如:

from turtle import *
startLength = int(input("Please enter the length of first side: "))
decrement = int(input("Please enter the change in length of side: "))
while startLength > decrement:
    forward(startLength)
    left(90)
    startLength = startLength - decrement
forward(startLength)

最后一个 forward(startLength) 是添加那个小余数位,以便螺旋在中心结束。我还把 startLength = startLength - decrement 放在绘图之后,这样第一行的长度就是 startLength.