谢尔宾斯基三角形 python
时间: 2024-10-30 18:05:45 浏览: 39
谢尔宾斯基三角形,也称为Sierpinski三角形,是一种基于递归规则创建的几何图形,它最初由波兰数学家 Waclaw Sierpinski 发现。在 Python 中,你可以通过迭代过程或者使用列表推导式来生成这个图案。
这是一个简单的 Python 示例,利用嵌套循环生成谢尔宾斯基三角形:
```python
def sierpinski_triangle(n):
triangle = [[0] * n for _ in range(n)]
# 基本情况:单点
if n == 1:
return triangle
# 第一次迭代:将中间一列置为 1
for i in range(1, n-1):
triangle[i][n//2] = 1
# 递归:对上半部分和下半部分分别应用函数
for i in range(n//2):
sub_triangle = sierpinski_triangle(n // 2)
for row in sub_triangle:
triangle[2*i][i:] += row
triangle[2*i+1][i:] += row
return triangle
# 输出前几级的谢尔宾斯基三角形
for level in range(5):
print(sierpinski_triangle(level + 1))
```
这个代码会生成一个 n 级的谢尔宾斯基三角形矩阵,每一级表示图案的一个层次。
阅读全文