Python使用生成器generator打印杨辉三角的实现方式
杨辉三角形,又称帕斯卡三角形、贾宪三角形、海亚姆三角形、巴斯卡三角形,是二项式系数的一种写法,形似三角形,在中国首现于南宋杨辉的《详解九章算法》得名,书中杨辉说明是引自贾宪的《释锁算书》,故又名贾宪三角形。
杨辉三角以正整数构成,数字左右对称,每行由1开始逐渐变大,然后变小,回到1。
杨辉三角每一行的和是2的幂。
第n 行的数字个数为n 个。
从第三行开始,除了第一个数字和最后一个数字为1,中间的数字都是上一行数字相邻两数字之和。

第1行:[1]以每一行数字为list。
第2行:[1,1]
第3行:[1,2,1]
第4行:[1,3,3,1]
第5行:[1,4,6,4,1]
def yangHuiSanJiao(max_line): n=1 ali = [] while n<max_line: ali2 = [] if n<=2: ali.append(1) yield ali else: for inn in range(1,len(ali)): ali2.append(ali[inn-1]+ali[inn]) ali2.insert(0,1) ali2.append(1) ali = ali2 yield ali n+=1 for li in yangHuiSanJiao(9): print(li)

浙公网安备 33010602011771号