2021.10.22 杨辉三角形

【每日一题】2021.10.22

编程(至少用2种方法)用以下列格式输出杨辉三角形,比如n=1~8输出 :
Y( 1) = [1]
Y( 2) = [1, 1]
Y( 3) = [1, 2, 1]
Y( 4) = [1, 3, 3, 1]
Y( 5) = [1, 4, 6, 4, 1]
Y( 6) = [1, 5, 10, 10, 5, 1]
Y( 7) = [1, 6, 15, 20, 15, 6, 1]
Y( 8) = [1, 7, 21, 35, 35, 21, 7, 1]
...... ......

编程语言:包括但不限于Python

# 杨辉三角
def yangHuiSanJiao(n):
    # 打印第一行和第二行
    if n>=1:
        print(f'Y({1})=',end='')
        print("[1]".center(50))
        next_line = [1, 1]
    if n>=2:
        print(f'Y({2})=',end='')
        second_line = '['+','.join([str(i) for i in next_line])+']'
        print(second_line)

    for j in range(2, n):
        mid = []

        for i in range(0, len(next_line) - 1):
            mid.append(next_line[i] + next_line[i + 1])

        next_line = [1] + mid + [1]
        print(f'Y({j+1})=', end='')
        fin ='['+ ','.join([str(i) for i in next_line])+']'
        print(fin)
#
yangHuiSanJiao(5)
def next_line(lst):
    newline = [1]
    for x in range(len(lst) - 1):
        newline.append(lst[x] + lst[x + 1])
    newline.append(1)
    return newline


# 定义二位数组,存放;如果为了节约空间,也可以不用放二维数组
def yanglst(n):
    yanghui = []
    L = [1]
    for x in range(n):
        yanghui.append(L)
        L = next_line(L)
    return yanghui

i=0
for I in yanglst(8):
    i+=1
    print(f"Y({i})=",I)