gpt4 book ai didi

python - turtle 的螺旋功能 - 如何让它停止?

转载 作者:太空宇宙 更新时间:2023-11-03 18:25:55 25 4
gpt4 key购买 nike

所以,我正在尝试创建一个函数来在 turtle 中制作螺旋。它似乎工作得很好,除了当我希望它在下降到一个像素时停止绘制时,该函数会继续绘制和绘制。任何帮助将不胜感激!

  def spiral( initialLength, angle, multiplier ):
"""uses the csturtle drawing functions to return a spiral that has its first segment of length initialLength and subsequent segments form angles of angle degrees. The multiplier indicate how each segment changes in size from the previous one.
input: two integers, initialLength and angle, and a float, multiplier
"""

newLength = initialLength * multiplier

if initialLength == 1 or newLength ==1:
up()

else:
forward(initialLength)
right(angle)
newLength = initialLength * multiplier
if newLength == 0:
up()
return spiral(newLength,angle, multiplier)

最佳答案

根据 initialLengthmultiplier 的值,您的函数很可能永远不会恰好为 1。您检查一下就在这里:

if initialLength == 1 or newLength ==1:
up()

如果它永远不会恰好达到 1, turtle 将永远不会停止绘画。

尝试将其更改为:

if initialLength <= 1 or newLength <=1:
up()

老实说,你可以这样做:

if initialLength <= 1:
up()

由于 initialLengthnewLength 本质上是相同的变量,因此它们仅相差一个 multiplier 因子(一个递归深度)。

关于python - turtle 的螺旋功能 - 如何让它停止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23209850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com