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))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通