利用turtle绘制30个不同颜色,不同位置,不同大小的正N边形
时间: 2024-09-14 17:09:28 浏览: 32
使用Python中的turtle库来绘制30个不同颜色、不同位置、不同大小的正N边形是一个有趣且具有挑战性的编程任务。以下是一个简单的实现方法:
首先,我们需要导入turtle库,并初始化一个窗口。然后,我们可以通过一个循环来绘制30个正N边形,每个正N边形都有不同的颜色、位置和大小。在每次循环中,我们可以随机生成边数、颜色和位置坐标,然后根据这些参数绘制相应的图形。
下面是一个简单的代码示例:
```python
import turtle
import random
# 初始化窗口
window = turtle.Screen()
window.bgcolor("white") # 设置背景颜色
# 获取turtle画笔
pen = turtle.Turtle()
pen.speed(0) # 设置绘画速度
# 绘制30个不同正N边形的函数
def draw_random_polygon(pen, num_polygons):
for _ in range(num_polygons):
# 随机生成边数
num_sides = random.randint(3, 10)
# 随机生成边长
side_length = random.randint(20, 100)
# 随机生成颜色
color = random.choice(["red", "green", "blue", "yellow", "purple", "orange"])
# 随机生成位置
x_pos = random.randint(-200, 200)
y_pos = random.randint(-200, 200)
# 移动到指定位置并开始绘制
pen.up()
pen.goto(x_pos, y_pos)
pen.down()
# 设置颜色并绘制正N边形
pen.color(color)
angle = 360 / num_sides
for _ in range(num_sides):
pen.forward(side_length)
pen.left(angle)
# 绘制完成后移动到新的随机位置
pen.up()
pen.right(360 / num_polygons)
pen.forward(100)
pen.down()
# 调用函数绘制30个不同的正N边形
draw_random_polygon(pen, 30)
# 结束绘制
turtle.done()
```
在上述代码中,我们使用了`random.randint`来生成边数、边长和位置的随机值,以及`random.choice`来选择随机颜色。通过循环,我们能够绘制出30个不同的正N边形。
阅读全文