我想用turtle绘制30个颜色,位置,边数和边长均不同的正多边形,题目只设三个参数n,s,c代表边数边长和颜色,但是我画出来总是最后有一个直线的拖尾,请问是哪句代码出了错,怎么改?
该回答引用ChatGPT
下面是一个使用Python中的turtle模块来实现绘制30个颜色、位置、边数和边长均不同的正多边形的示例代码:
import turtle
import random
def draw_polygon(n, s, c):
"""绘制边数为n、边长为s、颜色为c的正多边形"""
turtle.color(c)
turtle.begin_fill()
for _ in range(n):
turtle.forward(s)
turtle.left(360 / n)
turtle.end_fill()
# 设置画笔速度
turtle.speed('fastest')
# 循环绘制30个正多边形
for i in range(30):
# 随机生成边数、边长和颜色
n = random.randint(3, 10)
s = random.randint(20, 100)
c = (random.random(), random.random(), random.random())
# 随机生成位置
x = random.randint(-300, 300)
y = random.randint(-300, 300)
# 移动到指定位置并绘制正多边形
turtle.penup()
turtle.goto(x, y)
turtle.pendown()
draw_polygon(n, s, c)
# 点击窗口关闭
turtle.exitonclick()