【题目描述】输出n(0<n)行杨辉三角形,n由用户输入。
【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。
【输入格式】一行中输入1个整数n。
【输出格式】输出n行杨辉三角形,每个数的显示格式:占5位,右对齐。
【输入样例】3
【输出样例】 1 1
1 2 1
1 3 3 1
def generate_pascal_triangle(n):
"""
生成 n 行杨辉三角形
参数:
n (int): 行数
返回:
list: 杨辉三角形列表
"""
triangle = \[\]
for i in range(n):
row = \[\]
for j in range(i + 1):
if j == 0 or j == i:
# 第一列和最后一列的元素都是 1
row.append(1)
else:
# 其他位置的元素等于上一行相邻两个元素之和
num = triangle\[i - 1\]\[j - 1\] + triangle\[i - 1\]\[j\]
row.append(num)
triangle.append(row)
return triangle
\# 获取用户输入
n = int(input("请输入杨辉三角形的行数: "))
\# 生成杨辉三角形并输出结果
triangle = generate_pascal_triangle(n)
for row in triangle:
# 使用占 5 位、右对齐的格式输出每个数
for num in row:
print(f"{num:5}", end="")
print()