8-6 【Python0007】杨辉三角形 分数 10 作者 doublebest 单位 石家庄铁道大学
【题目描述】输出n(0<n)行杨辉三角形,n由用户输入。
【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。
【输入格式】一行中输入1个整数n。
【输出格式】输出n行杨辉三角形,每个数的显示格式:占5位,右对齐。
【输入样例】3
【输出样例】 1 1
1 2 1
1 3 3 1
def generate_pascal_triangle(n):
# 初始化杨辉三角形列表
pascal_triangle = [[1]]
# 生成杨辉三角形
for i in range(1, n):
# 每一行的第一个元素为1
row = [1]
# 生成当前行的其他元素
for j in range(1, i):
# 当前元素等于上一行对应位置元素与其前一个元素之和
row.append(pascal_triangle[i - 1][j - 1] + pascal_triangle[i - 1][j])
# 每一行的最后一个元素为1
row.append(1)
# 将当前行添加到杨辉三角形列表中
pascal_triangle.append(row)
return pascal_triangle
# 输入一个整数n
n = int(input())
# 生成并输出n行杨辉三角形
for row in generate_pascal_triangle(n):
# 将每行的数字格式化为占5位,右对齐
formatted_row = [f"{num:5}" for num in row]
print(" ".join(formatted_row))