首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[教程]掌握Python打印杨辉三角的秘诀,轻松实现数学之美

发布于 2025-07-09 15:30:17
0
1291

杨辉三角简介杨辉三角,又称帕斯卡三角形,是一个三角形数列,其中每个数是它上方两数之和。杨辉三角在组合数学、概率论和计算机科学中有着广泛的应用。它的每一行都代表了一个数列的二项式系数。Python打印杨...

杨辉三角简介

杨辉三角,又称帕斯卡三角形,是一个三角形数列,其中每个数是它上方两数之和。杨辉三角在组合数学、概率论和计算机科学中有着广泛的应用。它的每一行都代表了一个数列的二项式系数。

Python打印杨辉三角的基本思路

打印杨辉三角的核心在于理解其生成规则。我们可以使用二维列表来存储杨辉三角的每一行,然后通过嵌套循环来填充这个列表。

  1. 初始化第一行,只包含数字1。
  2. 对于每一行,除了第一行和最后一行外,中间的每个数字都是上一行的两个相邻数字之和。
  3. 每一行的开始和结束数字都是1。

Python代码实现

以下是一个使用Python打印杨辉三角的示例代码:

def print_pascal_triangle(num_rows): triangle = [[1]] # 初始化杨辉三角的第一行 for i in range(1, num_rows): row = [1] # 每行的开始数字为1 for j in range(1, i): # 计算中间的数字,为上一行的两个相邻数字之和 row.append(triangle[i - 1][j - 1] + triangle[i - 1][j]) row.append(1) # 每行的结束数字为1 triangle.append(row) # 将新行添加到杨辉三角中 # 打印杨辉三角 for row in triangle: print(' '.join(map(str, row)).center(num_rows * 2))
# 打印前10行的杨辉三角
print_pascal_triangle(10)

代码详解

  • print_pascal_triangle(num_rows) 函数接受一个参数 num_rows,表示要打印的杨辉三角的行数。
  • triangle 列表用于存储杨辉三角的每一行。
  • 外层循环控制行数,内层循环用于计算每一行的数字。
  • row 列表用于存储当前行的数字。
  • print(' '.join(map(str, row)).center(num_rows * 2)) 用于打印当前行,其中 num_rows * 2 用于计算居中对齐的宽度。

通过以上代码,我们可以轻松地打印出杨辉三角,享受数学之美。

评论
一个月内的热帖推荐
csdn大佬
Lv.1普通用户

452398

帖子

22

小组

841

积分

赞助商广告
站长交流