有人能帮我用Python制作一个多边形生成器吗?

2024-09-30 18:35:27 发布

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

它应该要求一个介于4到8之间的数字,然后海龟就会画出这些边。在

内角方程:

where N is the # of sides (N -2)180= x, then x divided by N = draw sides

>>> import turtle
>>> t=turtle.Pen()
>>> usernum = int(input('Give me a number between 4 and 8: '))
Give me a number between 4 and 8: 5
>>> if usernum < 4 or usernum > 8:
        print ("invalid number!")
else:
        draw
        myangle = (((numSides-2) * 180)/ numSides)
        turtle.right(180 - myangle)

Tags: andnumber数字betweenme方程海龟draw
1条回答
网友
1楼 · 发布于 2024-09-30 18:35:27

既然你展示了你真正尝试过的东西,我就给你一块骨头,但你几乎可以肯定的是,你可以通过几次快速的谷歌搜索找到如何做到这一点的。在

不管是什么原因,我有一些问题运行海龟图形脚本闲置,我不知道你是否有更好的运气。在

import turtle

t = turtle.Pen()
num_sides= int(input("Give me a number between 4 and 8: "))
side_length = 30

while True:
    if (num_sides < 4) or (num_sides > 8):
        num_sides = int(input("Invalid Number! Please enter a new one from 4-8: "))
    else:
        myangle = 360 / side_length
        break

for i in range(num_sides):
    t.forward(side_length)
    t.right(myangle)

如果您像我一样在空闲状态下运行它有问题,请尝试在命令行中从python解释器运行它。使用稍微修改过的版本,我制作了num_sides = range(3, 15)的所有多边形。值得注意的是,我们不能每次都精确地回到开头,是因为使用整数而不是浮点数。将其改为使用浮点应该可以解决这个问题。在

Turtle graphics example of equiangular polygons from n = 3 to 15

相关问题 更多 >