python-3.x 如何使用turtle创建任何正多边形?

v440hwme  于 2022-12-05  发布在  Python
关注(0)|答案(2)|浏览(140)

所以我有一个任务,要求我用海龟画任何正多边形,我创建了代码。它的工作,但我的导师说再试一次。我想知道我做错了什么,谢谢!
此任务的要求是:

  • 程序应该接受用户的输入。
  • 程序应具有以下功能:
  • 将边数作为参数。
  • 计算Angular
  • 使用适当的Angular 绘制多边形
from turtle import Turtle

turtle = Turtle()
  
side = int(input("Enter the number of the sides: "))
    
def poly():
    for i in range(side):
        turtle.forward(100)
        turtle.right(360 / side)
        
        
poly()
btxsgosb

btxsgosb1#

我想这可能更适合math stackexchange
一个正多边形的内角是(n−2) × 180 / n。有一篇关于here的博客文章。
您只需更改每次旋转的Angular :

from turtle import Turtle

turtle = Turtle()
  
num_sides = int(input("Enter the number of the sides: "))
    
def poly():
    for i in range(num_sides):
        turtle.forward(100)
        # change this bit
        turtle.right((num_sides - 2) * 180 / num_sides)
        
        
poly()
bvjveswy

bvjveswy2#

下面是我用Turtle绘制多边形时使用的函数:
绘制给定长度的n边多边形。t是海龟。

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

相关问题