Python打印输出等边三角形杨辉三角 - 附代码讲解

本文提供了一段Python代码,用于生成并以近似等边三角形的形式打印输出10层杨辉三角。

def generate_pascal_triangle(rows):
    triangle = []
    for row in range(rows):
        next_row = []
        for col in range(row + 1):
            if col == 0 or col == row:
                next_row.append(1)
            else:
                curr_val = triangle[row - 1][col - 1] + triangle[row - 1][col]
                next_row.append(curr_val)
        triangle.append(next_row)
    return triangle

def print_pascal_triangle(triangle):
    max_val = triangle[-1][len(triangle[-1]) // 2]
    max_digits = len(str(max_val))
    for row in triangle:
        row_str = ''
        for num in row:
            row_str += str(num).center(max_digits)
        print(row_str.center(len(triangle[-1]) * max_digits))

rows = 10
triangle = generate_pascal_triangle(rows)
print_pascal_triangle(triangle)

代码讲解:

  1. generate_pascal_triangle(rows) 函数:

    • 接受行数 rows 作为参数。
    • 使用嵌套循环计算杨辉三角的每一行。
    • 返回一个包含所有行的列表 triangle
  2. print_pascal_triangle(triangle) 函数:

    • 接受杨辉三角列表 triangle 作为参数。
    • 计算三角形中最大值的位数 max_digits,用于格式化输出。
    • 遍历 triangle 的每一行,使用 str.center() 方法将数字居中对齐,并使用空格填充,以形成等边三角形形状。

运行这段代码,你将获得一个格式美观的10层杨辉三角形输出。

Python打印输出等边三角形杨辉三角 - 附代码讲解

原文地址: https://www.cveoy.top/t/topic/C4D 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录