杨辉三角(最简单易懂)
题目
编写两个函数,一个函数接收一个整数num为参数,生成杨辉三角形前num行数据,另一个函数接收生成的杨辉三角形并按以下形式输出,如图所示。
在图中,列出了杨辉三角形的前9行。每一层左右两端的数都是1并且左右对称,从第1层开始,每个不位于左右两端的数等于上一层左右两个数相加之和。
代码
l = []for i in range(n):y = [] # 存储一行,每次清空for j in range(i + 1):if j == 0 or j == i:y.append(1)else:y.append(l[i - 1][j] + l[i - 1][j - 1])l.append(y) # 放入所有行存储列表中return ldef form(z):for i in range(len(z)):s = str(x[i])s = s.strip('[]')s = s.replace(',', ' ')print(s.center(n * 10))n = 9
x = triangle(n)
form(x)