您的位置:首页 > 编程语言 > Python开发

Day6、Python

2016-04-08 10:29 781 查看
题目 杨辉三角

1、程序分析

杨辉三角基本性质:

a、第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。

b、每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角。即第n+1行的第i个数等于第n行的第i-1个数和第i个数之和,这也是组合数的性质之一。即 C(n+1,i)=C(n,i)+C(n,i-1)。

举例:



可以利用Python的生成器generator、sum、zip方法,来实现杨辉三角的打印。

2、程序实现

#Topic          :       杨辉三角
#File Name      :       Triangle.py
#Author         :       Jack Cui
#Created        :       8 April 2016
def triangles():
a = [1]
while True:
yield a
a = [sum(i) for i in zip([0] + a,a + [0])]

if __name__ == '__main__':
h = int(input('请输入您要显示的最大行数:'))
tri = triangles()
for n in range(h):
print(next(tri))


3、结果显示

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: