Python程序:输入用户给定的n行数以打印Pascal三角形

Python程序:输入用户给定的n行数以打印Pascal三角形

Pascal三角形是一个很有意思的数学现象,它由一系列数字组成,可以通过递归算法来构建。在这篇文章中,我们将通过Python程序输入用户给定的n行数来打印Pascal三角形,帮助大家更好地理解Pascal三角形的构建过程。

Pascal三角形简介

Pascal三角形是由数学家 Blaise Pascal 发现的,这个三角形的特点是:第 n 行有 n 个数字,每行最左边和最右边的数字都是 1,其它数字都是上一行相邻两个数字之和。例如,前 6 行的Pascal三角如下:

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

代码实现

首先,我们需要用户输入Pascal三角形的行数 n。代码如下:

n = int(input("请输入Pascal三角形的行数:"))

接下来,我们用一个列表来存储Pascal三角形的每一行的数字,这个列表的初始值为 [1]。然后通过一个循环,依次计算每行的数字,并将计算好的一行数字添加到列表里。代码如下:

pascal_triangle = [[1]]
for i in range(1, n):
    current_row = [1]
    for j in range(1, i):
        current_row.append(pascal_triangle[i-1][j-1] + pascal_triangle[i-1][j])
    current_row.append(1)
    pascal_triangle.append(current_row)

在上面的代码中,pascal_triangle 表示存储Pascal三角形的列表。第1行的数字是 [1],所以我们先把 [1] 添加到 pascal_triangle 中。

接下来,通过一个循环,依次计算每行的数字。首先,我们在 current_row 中添加第一个数字 1。然后,对于第 i 行的第 j 个数字(1<j<i),它等于上一行的第 j-1 个数字和第 j 个数字之和。所以,我们可以使用 pascal_triangle[i-1][j-1] + pascal_triangle[i-1][j] 来计算第 i 行的第 j 个数字,并在 current_row 中添加这个数字。最后,我们在 current_row 中添加最后一个数字 1,并把 current_row 添加到 pascal_triangle 中。

最后,我们可以使用一个循环来输出Pascal三角形。代码如下:

for row in pascal_triangle:
    print(' '.join([str(n) for n in row]).center(n*2))

在上面的代码中,我们用一个循环遍历每一行的数字,并将每一行的数字拼接成一个字符串,用空格分隔。然后使用 center(n*2) 来把字符串居中对齐,其中 n*2 表示每个数字都占用 2 个字符的宽度。最后,我们把每一行的字符串通过换行符输出。

完整代码

下面是完整的程序代码:

n = int(input("请输入Pascal三角形的行数:"))

pascal_triangle = [[1]]
for i in range(1, n):
    current_row = [1]
    for j in range(1, i):
        current_row.append(pascal_triangle[i-1][j-1] + pascal_triangle[i-1][j])
    current_row.append(1)
    pascal_triangle.append(current_row)

for row in pascal_triangle:
    print(' '.join([str(n) for n in row]).center(n*2))

结论

通过这篇文章,我们学习了如何用Python程序输入用户给定的n行数,并打印出对应的Pascal三角形。通过这个例子,我们也进一步认识到了Python程序的代码语法和逻辑。希望本文对你有所帮助,能够启发你在其他问题的解决中提供有用的参考。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程