如何用递归方法画出20个大小不同的雪花图案 python
时间: 2024-02-13 14:01:36 浏览: 29
以下是一个递归方法画出20个大小不同的雪花图案的 Python 代码:
```python
import turtle
import random
# 递归函数画雪花
def snowflake(t, size, levels):
if levels == 0:
t.forward(size)
return
size /= 3.0
snowflake(t, size, levels-1)
t.left(60)
snowflake(t, size, levels-1)
t.right(120)
snowflake(t, size, levels-1)
t.left(60)
snowflake(t, size, levels-1)
# 设置画布和画笔
canvas = turtle.Screen()
canvas.bgcolor("black")
t = turtle.Turtle()
t.speed(0)
t.color("white")
# 画20个雪花
for i in range(20):
size = random.randint(10, 200)
levels = random.randint(1, 6)
t.penup()
t.goto(random.randint(-300, 300), random.randint(-300, 300))
t.pendown()
snowflake(t, size, levels)
# 关闭画布
canvas.exitonclick()
```
这个代码使用了 Turtle 模块来画出雪花图案。递归函数 `snowflake` 用来画出一个雪花,它先画出最里面的三角形,然后分别向左、向右旋转 60 度,接着递归地画出剩下的三角形。 `for` 循环用来画出 20 个不同大小和形状的雪花。