杨辉三角形
难度:⭐⭐
1. 题目描述
题目描述
- 输出前 9 行的杨辉三角形
- 杨辉三角形示例可看下面的代码运行示例
- 特性:除每行最左侧与最右侧的数字以外,每个数字等于它的左上方与右上方两个数字之和
2. 关键点
- 杨辉三角行的特性
3. 代码实现
点击显示代码
python
lst = []
for i in range(9):
s = [1]
if i == 0: # 第一行
pass
elif i == 1: # 第二行
s += [1]
else: # 其它行
for j in range(len(lst[i-1]) - 1):
num = lst[i-1][j] + lst[i-1][j+1]
s.append(num)
s += [1]
lst.append(s)
for i, s in enumerate(lst):
print(' ' * (9-1-i), end='') # 输出每行前边的空格
ss = [str(c).center(2) for c in s]
print(' '.join(ss))
4. 运行示例
txt
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
5. 进阶思考
- 使用生成器来实现