您的位置:

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

在这个简单的 python 程序中,我们需要求解一个帕斯卡三角形。这是一个基于模式的 python 程序。

要理解这个例子,您应该了解以下 Python 编程主题:

  • Python 列表
  • Python 循环
  • Python 决策语句

什么是帕斯卡三角?

在这个 python 程序中,我们需要打印一个最有趣的数字模式,叫做帕斯卡三角形。帕斯卡三角形是一个三角形形状的数字图案,最上面是一个 1 。那么每个数都是结果数上面两个数的和。

帕斯卡三角形被定义为二项式系数的三角形阵列。帕斯卡的三角形是对称的,这意味着三角形的左侧将与三角形的右侧相同。例如:

        1

       1 1

      1 2 1

python 中帕斯卡三角如何求解?

为了在 python 程序中实现这个 pascal 的三角形逻辑,我们接受来自用户的行数。然后我们初始化一个列表,并将 1 附加到三角形中的所有子列表。现在我们在 python 中打开一个for loop从 1 到行号。然后,我们通过使用三角形先前元素的和来计算子列表元素,即。 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()方法的语法是“format(value[, format_spec])”format 方法取两个参数,其中一个是要格式化的值,另一个是说明符,其中提到了 python 中要如何格式化的值。

算法

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

步骤 2: 使用 python 方法初始化列表。

第三步:打开一个for loop直到数字 n 并将所有元素添加到 1 到所有子列表。

STEP 4: 打开 nest for 循环,使用公式 (a[i-1][j-1]+a[i-1][j]) 【我们在描述中描述了公式的工作原理】

STEP 5: 使用另一个 for 循环打印元素,我们使用 format 方法使用 python 基本语法将其打印为 pascal 的三角形格式。

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)
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
                1 
            1      1 
         1     2     1