打印 n 行帕斯卡三角形的 Python 程序


2022年2月21日, Learn eTutorial
2294

什么是帕斯卡三角形?

帕斯卡三角形定义为二项式系数的三角形数组。帕斯卡三角形是对称的,这意味着三角形的左侧将与三角形的右侧相同。在这个 Python 程序中,我们需要打印一种最有趣的数字模式,称为帕斯卡三角形。帕斯卡三角形是一种三角形形状的数字模式,最顶部为 1。然后,每个数字是上方两个数字的和,得到结果数字。

interchange diagonals of matrix

如何在 Python 中解决帕斯卡三角形?

为了将帕斯卡三角形的逻辑实现到 Python 程序中,我们接受用户输入的行数。然后我们初始化一个列表,并将 1 添加到三角形中的所有子列表中。现在我们打开一个从 1 到行号的 for 循环。然后我们使用三角形先前元素的和来计算子列表元素,即 a[i-1][j-1]+a[i-1][j]

让我们以帕斯卡三角形的第二行为例,那么对于第二行中的第一个元素,'i' 将为 2,'j' 将为 1。因此,使用公式 [2-1][1-1]+[2-1][1],结果等于 1。最后,我们使用另一个 for 循环 以正确的模式打印帕斯卡三角形。

我们在这里使用 Python 语言中的格式化方法以正确的方式打印帕斯卡三角形。format() 方法是 Python 中的一个内置方法,它返回格式化参数中指定的格式化输出。format() 方法的语法是 "format(value,[format_spec])",format 方法接受两个参数,其中一个是待格式化的值,另一个是指定器,它说明了如何在 Python 中格式化该值。

算法

步骤 1: 接受用户输入的行数。

步骤 2: 使用 Python 方法初始化一个列表。

步骤 3: 打开一个 for 循环,直到数字 n,并将所有元素 1 添加到所有子列表中。

步骤 4: 打开嵌套的 for 循环,使用公式 (a[i-1][j-1]+a[i-1][j]) 计算子列表中的每个元素(我们已经在描述中说明了该公式的工作原理)。

步骤 5: 使用另一个 for 循环 打印元素,我们使用格式化方法以帕斯卡三角形的格式使用 Python 基本语法打印它。


为了解决这个帕斯卡三角形问题,我们使用了以下 Python 编程概念,请参考这些主题以获得更好的理解

Python 源代码

                                          n=int(input("Enter number of rows: "))
a=[]
for i in range(n):
    a.append([])
    a[i].append(1)
    for j in range(1,i):
        a[i].append(a[i-1][j-1]+a[i-1][j])
    if(n!=0):
        a[i].append(1)
print("Pascal's triangle of",n,"rows is")
for i in range(n):
    print("   "*(n-i),end=" ",sep=" ")
    for j in range(0,i+1):
        print('{0:6}'.format(a[i][j]),end=" ",sep=" ")
    print()
                                      

输出

Enter number of rows: 3
Pascal's triangle of 3 rows is
                1 
            1      1 
         1     2     1