当前位置:首页>python>Python 打印杨辉三角形(二维列表实现)

Python 打印杨辉三角形(二维列表实现)

  • 2026-10-11 08:06:03
Python 打印杨辉三角形(二维列表实现)
【前言】可以参看我的视频进行学习,本系列教程,持续更新中,喜欢的朋友,关注,点赞,分享,需要笔记代码的同学可以在评论区留言。

杨辉三角是经典的二维列表练习,核心规则:

  1. 第 i 行有 i 个元素(行号从 0 开始)
  2. 每行首尾元素都是 1
  3. 中间元素 = 上一行同位置元素 + 上一行前一个元素
  4. 用二维列表存储:每一行是一个子列表,整体是大列表

完整代码(直接运行)

# 获取用户输入:要打印的杨辉三角行数
n = int(input("请输入杨辉三角的行数:"))

# 1. 初始化二维列表(空列表)
triangle = []

# 2. 逐行生成杨辉三角
for i in range(n):
# 初始化当前行,默认所有元素为1(首尾天然是1)
    row = [1] * (i + 1)

# 3. 计算中间元素(首尾不用改,只遍历中间位置)
for j in range(1, i):
        row[j] = triangle[i-1][j-1] + triangle[i-1][j]

# 把当前行添加到二维列表中
    triangle.append(row)

# 4. 打印杨辉三角(格式化输出,对齐美观)
for line in triangle:
# 转成字符串,用空格分隔,居中打印
    print(" ".join(map(str, line)).center(n*3))

代码核心解释

1. 二维列表结构

  • triangle 是二维列表,比如 5 行的杨辉三角存储为:[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]
  • 每一行 row 是一维子列表

2. 核心逻辑(双层循环)

  • 外层循环 for i in range(n):控制行数
  • 内层循环 for j in range(1, i):控制每行的中间元素
  • 关键公式:row[j] = 上一行[j-1] + 上一行[j] → triangle[i-1][j-1] + triangle[i-1][j]

3. 格式化打印

  • map(str, line):把数字转字符串
  • " ".join(...):用空格拼接一行元素
  • .center(n*3):居中对齐,让三角更美观

运行示例

输入:5输出:

     1      
    1 1     
   1 2 1    
  1 3 3 1   
 1 4 6 4 1  

总结

  1. 用二维列表存储杨辉三角,行是子列表,整体是大列表
  2. 首尾固定为 1,中间元素由上一行两个元素相加得到
  3. 双层循环实现生成,格式化打印让结果更美观

最新文章

随机文章