Python打印输出等边三角形杨辉三角 - 附代码讲解
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)
代码讲解:
-
generate_pascal_triangle(rows)函数:- 接受行数
rows作为参数。 - 使用嵌套循环计算杨辉三角的每一行。
- 返回一个包含所有行的列表
triangle。
- 接受行数
-
print_pascal_triangle(triangle)函数:- 接受杨辉三角列表
triangle作为参数。 - 计算三角形中最大值的位数
max_digits,用于格式化输出。 - 遍历
triangle的每一行,使用str.center()方法将数字居中对齐,并使用空格填充,以形成等边三角形形状。
- 接受杨辉三角列表
运行这段代码,你将获得一个格式美观的10层杨辉三角形输出。
原文地址: https://www.cveoy.top/t/topic/C4D 著作权归作者所有。请勿转载和采集!