Python龟圆函数

2024-03-29 14:44:32 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我在读一本学习python的书,我得到了关于海龟模块的一部分。 所以在解释之后,它会给你一些练习。 其中之一是定义一个创建规则多边形的函数。 我要用这个。在

import turtle
bob = turtle.Turtle()

def polygon(t, l, n): 
    angle = 360/n
    for i in range(n):
        t.fd(l)
        t.lt(angle)
polygon(bob, 40, 5)

例如,这将绘制一个常规的五角大楼。在

下一个练习要求您绘制一个“圆”,改变多边形的边数。 问题是有时它不起作用,多边形/圆无法闭合。 我试图通过改变长度和边数来找到解决方案,或者只改变其中一个,但我没有成功。 例如,lenght=10和n°sides=140不起作用,而lenght=20和n°sides=120起作用。在

有人能解释一下吗?在

找到了解决方案。 作为一个初学者,我忘记了整数和浮点数。 这就是为什么“圆圈”没有闭合。在


Tags: 模块函数import定义规则绘制解决方案多边形
1条回答
网友
1楼 · 发布于 2024-03-29 14:44:32

您的代码在Python3中运行良好,但是由于除法的工作方式不同,在Python2中没有关闭多边形。解决方法是简单地使用360.0而不是360,然后它在以下两种情况下都可以正常工作:

from turtle import Turtle, Screen

def polygon(t, l, n):
    angle = 360.0 / n

    for _ in range(n):
        t.fd(l)
        t.lt(angle)

bob = Turtle()

polygon(bob, 10, 140)

screen = Screen()
screen.exitonclick()

pythonturtle自己的circle()方法实际上绘制多边形时默认假设60条边足够在屏幕上看起来像一个圆。除非圆很小(那么它使用较少的边)或者用户通过steps参数坚持使用更多(或更少)边。在

相关问题 更多 >