2024.5.14

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))

posted @ 2024-06-13 15:38  liuxuechao  阅读(2)  评论(0编辑  收藏  举报