python生成器杨氏三角
时间: 2023-11-05 21:56:02 浏览: 48
杨辉三角是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来。杨辉三角的特点是两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和。下面是一个直观的图例:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
...
以下是一个用Python生成杨辉三角的代码示例:
```python
def count_yanghui():
"""计算每一行杨辉三角数"""
a = [1]
while True:
yield a
a = [sum(i) for i in zip([0] + a, a + [0])] # 杨辉三角算法
def control_circulation(max_num):
"""由用户决定打印几行杨辉三角"""
n = 0
for x in count_yanghui():
print(x) # 以列表形式输出每一行杨辉三角数,即print(a)
n += 1
if n == int(max_num):
break
if __name__ == "__main__":
n = input("请输入需要打印的杨辉三角行数:")
control_circulation(n)
```
以上代码实现了一个生成杨辉三角的生成器函数`count_yanghui()`,以及一个根据用户输入打印指定行数杨辉三角的函数`control_circulation()`。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)