Python用turtle写杨
时间: 2023-11-19 21:12:20 浏览: 91
代码如下:
```python
import turtle
# 设置画布大小和画笔速度
turtle.setup(800, 800)
turtle.speed(10)
# 定义一个函数来画杨辉三角
def draw_yanghui_triangle(size):
# 初始化杨辉三角
yh_triangle = [[1]]
# 循环生成杨辉三角的每一行
for i in range(1, size):
row = [1]
for j in range(1, i):
row.append(yh_triangle[i - 1][j - 1] + yh_triangle[i - 1][j])
row.append(1)
yh_triangle.append(row)
# 计算杨辉三角的最大值
max_value = max([max(row) for row in yh_triangle])
# 计算每个格子的大小
cell_size = 600 // (size + 1)
# 循环绘制每个格子
for i in range(size):
for j in range(i + 1):
# 计算当前格子的位置
x = (j - i / 2) * cell_size
y = (size - i - 1) * cell_size - 300
# 计算当前格子的颜色
value = yh_triangle[i][j]
color = (value / max_value, 0, 1 - value / max_value)
# 绘制当前格子
turtle.penup()
turtle.goto(x, y)
turtle.pendown()
turtle.fillcolor(color)
turtle.begin_fill()
for k in range(4):
turtle.forward(cell_size)
turtle.right(90)
turtle.end_fill()
# 调用函数绘制杨辉三角
draw_yanghui_triangle(15)
# 隐藏画笔
turtle.hideturtle()
# 等待用户关闭窗口
turtle.done()
```
代码解释:
1. 导入turtle库。
2. 设置画布大小为800x800,画笔速度为10。
3. 定义一个函数`draw_yanghui_triangle`,用于绘制杨辉三角。该函数接受一个参数`size`,表示杨辉三角的大小。
4. 在函数中初始化杨辉三角,并循环生成每一行。
5. 计算杨辉三角的最大值,以便后面计算每个格子的颜色。
6. 计算每个格子的大小,并循环绘制每个格子。
7. 计算当前格子的位置和颜色,并绘制当前格子。
8. 调用函数`draw_yanghui_triangle`绘制杨辉三角。
9. 隐藏画笔。
10. 等待用户关闭窗口。
11. 完成。
阅读全文