python习题-杨辉三角

发布时间 2023-04-12 20:32:21作者: Men!

题目描述

输出n0<n)行杨辉三角形,n由用户输入。

【源代码程序】

n = int(input("请输入要打印的杨辉三角的行数: "))
# 初始化杨辉三角的第一行
triangle = [[1]]
# 循环生成杨辉三角
for i in range(1, n):
    # 初始化当前行的第一个元素为1
    row = [1]
    # 循环生成当前行的中间元素
    for j in range(1, i):
        # 当前元素等于上一行中前一个元素和同一位置元素的和
        element = triangle[i - 1][j - 1] + triangle[i - 1][j]
        # 将当前元素加入当前行
        row.append(element)
    # 将当前行的最后一个元素设为1
    row.append(1)
    # 将当前行加入杨辉三角
    triangle.append(row)

# 循环输出杨辉三角
for i in range(n):
    # 计算当前行前面需要填充的空格数量
    spaces = ' ' * (n - i)
    # 用join函数将当前行中的数字转为字符串,并用空格连接
    # 然后再在前面添加空格,输出当前行
    print(spaces + ' '.join(map(str, triangle[i])))