python杨辉三角代码
pythondef generate_pascal_triangle(n):
triangle = []
for i in range(n):
row = [1] * (i + 1)
if i > 1:
for j in range(1, i):
row[j] = triangle[i - 1][j - 1] + triangle[i - 1][j]
triangle.append(row)
return triangle
def print_pascal_triangle(triangle):
for row in triangle:
print(" ".join(map(str, row)).center(len(triangle[-1]) * 2))
if __name__ == "__main__":
rows = int(input("请输入要生成的行数: "))
triangle = generate_pascal_triangle(rows)
print("生成的杨辉三角形如下:")
print_pascal_triangle(triangle)
这段代码首先定义了一个函数 generate_pascal_triangle(n)
,它接受一个整数参数 n
,表示要生成的杨辉三角的行数。然后,它使用两层循环来生成每一行的数字,并将其存储在一个二维列表 triangle
中。
另外,还定义了一个 print_pascal_triangle(triangle)
函数,它用于打印生成的杨辉三角形。
在主程序部分,用户可以输入要生成的行数,然后调用相应的函数来生成和打印杨辉三角形。
上面提供的代码已经可以生成和打印出指定行数的杨辉三角形了。如果你需要更多功能或者想要对代码进行改进,可以考虑
异常处理: 添加一些异常处理机制,例如确保用户输入的行数是一个正整数。
更多输出格式控制: 目前的代码将杨辉三角形打印在控制台上,你可以考虑将其输出到文件中,或者以其他格式显示。
性能优化: 如果需要生成大量行数的杨辉三角形,可以尝试优化算法以提高性能。
交互式界面: 将代码封装到一个交互式界面中,让用户可以通过图形界面输入参数并查看结果。
生成特定行数的杨辉三角形: 修改代码,使其可以生成指定行数的杨辉三角形而无需用户输入。
输出其他形式的杨辉三角形: 除了当前的文本形式,还可以尝试其他形式的输出,比如图形化显示。
使用生成器来生成杨辉三角形: 考虑使用生成器来生成杨辉三角形,这样可以节省内存空间。