Python 程序打印帕斯卡三角形

17 Mar 2025 | 4 分钟阅读

在本教程中,我们将讨论如何使用 Python 程序打印帕斯卡三角。但首先,让我们了解什么是帕斯卡三角。

引言

帕斯卡三角是数学中的一个有趣概念,其中一个三角形数组是通过将前一行的相邻元素相加而形成的。简单来说,每个数字都是通过将其与上一行的相邻数字相加而生成的,三角形的外部边缘始终为 1。它以著名的法国数学家布莱兹·帕斯卡的名字命名。下面是帕斯卡三角的表示。

Python Program to Print Pascal Triangle

在上图中,第一行是 1。第二行包含两个 1,第三行是 1 2 1,它是由上面一行的数字相加而形成的。因此,它在整个三角形中遵循交替模式,依此类推。

Python 打印帕斯卡三角的算法

以下是打印帕斯卡三角的步骤。

步骤 - 1: 从用户那里获取输入,以获取行数。

步骤 - 2: 声明一个空列表,用于存储值。

步骤 - 3: 使用 for 循环,该循环将迭代 0 到 n - 1,并将子列表附加到列表中。

步骤 - 4: 现在向列表中附加 1。

步骤 - 5: 现在,使用 for 循环定义三角形相邻行中数字的值。

步骤 - 6: 按照格式打印帕斯卡三角。

步骤 - 7: 退出

让我们在 Python 程序中理解算法的以下实现。

程序

输出

情况 - 1

Enter the number: 4
          1 
      1      1 
  1      2      1 
1      3      3      1

我们再次运行程序。

情况 - 2

Enter the number: 10
                1 
            1      1 
        1      2      1 
    1      3      3      1 
1      4      6      4     
1      5     10     10      5      1 
 1      6     15     20     15      6      1 
 1      7     21     35     35     21      7      1 
 1      8     28     56     70     56     28      8      1 
 1      9     36     84    126    126     84     36      9      1

解释 -

在上面的程序中,我们从用户那里获取了输入行数。我们声明了一个空列表。然后我们使用了 for 循环,它将子列表附加到空列表中。下一个数字被附加到所有子列表中。内部 for 循环定义了三角形内的数字是上面相邻行的总和。最后,我们使用了 for 循环按照格式打印帕斯卡三角。

方法 - 2

我们可以通过遵循二项式系数使用另一种方法,所有行都以 1 开始,并且行号行的第 ith 个条目是二项式系数 C(行, i)。公式如下。

示例 -

上述方法的时间复杂度为 0(N2)。

方法 - 3

这种方法是打印帕斯卡三角的优化方法。这种方法基于 11 的幂。

示例 -

输出

情况 - 1

Enter the number of rows: 5
     1
    1 1
   1 2 1
  1 3 3 1
 1 4 6 4 1

情况 - 2

Enter the number of rows: 6  
       1
      1 1
     1 2 1
    1 3 3 1
   1 4 6 4 1
  1 6 1 0 5 1

正如我们在上面的代码中看到的,当我们输入五行时。它给出了错误的输出。这意味着它最多只能处理 n<= 5。它的执行时间更短 0(N)。