python

怎么用python打印三角数字

小亿
82
2024-09-25 23:18:01
栏目: 编程语言

三角数字,也被称为帕斯卡三角形(Pascal’s Triangle),每一行的数字代表二项式展开的系数。在Python中,你可以使用以下几种方法来打印帕斯卡三角形:

方法一:递归法

使用递归函数来生成帕斯卡三角形。

def generate_pascals_triangle(n):
    triangle = [[1]]
    for i in range(1, n):
        row = [1]
        last_row = triangle[-1]
        for j in range(1, len(last_row) - 1):
            row.append(last_row[j - 1] + last_row[j])
        row.append(1)
        triangle.append(row)
    return triangle

def print_pascals_triangle(triangle):
    for row in triangle:
        print(" ".join(str(num) for num in row).center(len(triangle[-1]) * 4))

n = int(input("请输入帕斯卡三角形的行数:"))
triangle = generate_pascals_triangle(n)
print_pascals_triangle(triangle)

方法二:迭代法

使用迭代方法生成帕斯卡三角形。

def generate_pascals_triangle(n):
    if n == 0:
        return []
    if n == 1:
        return [[1]]

    triangle = [[1]]
    for i in range(1, n):
        row = [1]
        last_row = triangle[-1]
        for j in range(1, len(last_row)):
            row.append(last_row[j - 1] + last_row[j])
        row.append(1)
        triangle.append(row)
    return triangle

def print_pascals_triangle(triangle):
    for row in triangle:
        print(" ".join(str(num) for num in row).center(len(triangle[-1]) * 4))

n = int(input("请输入帕斯卡三角形的行数:"))
triangle = generate_pascals_triangle(n)
print_pascals_triangle(triangle)

这两种方法都可以生成指定行数的帕斯卡三角形,并使用print_pascals_triangle函数以格式化的方式打印出来。

0
看了该问题的人还看了