繁体   English   中英

如何使用乌龟创建任何正多边形?

[英]How do I create any regular polygon using turtle?

所以我有一个作业要求我使用 Turtle 绘制任何正多边形,然后我创建了代码。 它有效,但我的导师说再试一次。 我想知道我做错了什么,谢谢!

这个任务的要求是:

  • 该程序应该接受用户的输入。
  • 该程序应该有一个 function :
    • 将边数作为参数。
    • 计算角度
    • 使用适当的角度绘制多边形
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()

这是我用来使用 Turtle 绘制多边形的 function:

绘制给定长度的 n 边多边形。 它是一只乌龟。

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

我认为这可能更适合math stackexchange

正多边形的内角(n−2) × 180 / n 这里有一篇很好的博客文章。

你只需要改变你每次旋转的角度:

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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM