Hann Yang 2021-10-28 09:18 采纳率: 100%
浏览 46
已结题

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

  • 写回答

1条回答 默认 最新

  • 辉煌仪奇 2021-10-28 09:27
    关注
    # 杨辉三角
    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)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月31日
  • 已采纳回答 10月28日
  • 创建了问题 10月28日

悬赏问题

  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试