首页 > 编程笔记

Python输出杨辉三角

杨辉三角是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉在 1261 年所著的《详解九章算法》一书中对此有明确记载。欧洲数学家帕斯卡在 1654 年发现这一规律,所以它又叫帕斯卡三角形。

杨辉三角定义为,其顶端(第1行)是1,第2行是两个1,第三行是 1、2、1,中间的2是其上方相邻两个数字的和,依次类推,形成如图1所示的杨辉三角。

对于任意输入的 2~15 的整数 n,请编程输出有 n 行的杨辉三角。

输入:一个整数 n(2≤ n≤ 15)。

输出:由 n 行数字组成的杨辉三角。具体输出格式参考如下样例。

样例输入:

请输入一个2~15的整数:6

样例输出:如图1所示。

Python杨辉三角示例
图1:杨辉三角

Python 输出杨辉三角的代码如下:
tri = [[1], [1, 1]]
n = int(input("请输入一个2~15的整数:"))
for i in range(2, n):
    newline = []
    newline.append(1)
    for j in range(i-1):
        val = tri[i-1][j]+tri[i-1][j+1]
        newline.append(val)
    newline.append(1)
    tri.append(newline)
 
for i in range(n):
    print("    "*(n-i-1), end="")   #4个空格
    for j in range(i+1):
        print('{:<4}'.format(tri[i][j]), end="    ")   #4个空格
print()
这道题用二维数组能较快地得到一行新的数据。要想让结果居中显示,也可以先将数组元素转换为字符,使用 join() 和 format() 来实现。

推荐阅读