当前位置:首页>python>5.Python海龟画图绘制多边形

5.Python海龟画图绘制多边形

  • 2026-10-11 08:29:35
5.Python海龟画图绘制多边形

1.使用变量保存多边形的边数,绘制一个多边形,画笔颜色为蓝色。

方法一:

import turtle

n = int(input("请输入多边形的边数:"))

p = turtle.Pen()

#turtle.setup(800,600)

turtle.bgcolor("red")

p.color("yellow")

p.pencolor("blue")

p.penup()

p.goto(50,50) #起点

p.pendown()

for i in range(n):

    p.right(360/n)

    p.forward(80)  #边长自定

p.penup()

turtle.hideturtle()

p.hideturtle()

turtle.done()

方法二:#使用函数

import turtle

n = int(input("请输入多边形的边数:"))

def draw_polygon_rotation(n, side_length):

    """使用角度旋转法绘制正n边形"""

    angle = 360 / n

    for _ in range(n):

        turtle.forward(side_length)

        turtle.right(angle)

# 设置绘图环境

turtle.speed(3)

turtle.penup()

turtle.goto(0, 0)  # 移动到起点

turtle.pendown()

# 绘制正n边形,边长为80

draw_polygon_rotation(n, 80)

turtle.done()

2.使用变量保存多边形的边数和边长,绘制一个多边形,且这个多边形以(0,0)为中心,画笔颜色为。

import turtle

import math

n = int(input("请输入多边形的边数:"))

side_length = eval(input("请输入边长:"))

p = turtle.Pen()

#turtle.setup(800,600)

#turtle.bgcolor("red")

turtle.color("white")

p.color("yellow")

p.pencolor("blue")

p.penup()

p.goto(0,0)

p.setheading(90)

for i in range(n):

    #注意三角函数只接受弧度作为参数

    p.forward((side_length/2)*math.tan((math.pi-2*math.pi/n)/2))

    #以多边形的外接圆为视角,多边形的边长为弦,求弦心距

    #p.forward((side_length/2)/math.tan(math.pi/n)) #这个方法简单点

    p.right(90)

    p.forward(side_length/2)

    p.pendown()

    p.right(360/n)        

    p.forward(side_length)

    p.penup()

    p.goto(0,0)

    p.setheading(90)

    p.right((i+1)*360/n)

p.penup()

turtle.showturtle()

p.showturtle()

turtle.done()

最新文章

随机文章