Py小郑 2022-01-29 10:22 采纳率: 96.6%
浏览 64
已结题

Python如何打印杨辉三角形

img


输出如图所示(虚线不要,虚线只是用来描述轮廓线) 请问该如何编写代码?感觉好难= =
我感觉好像要用到居中

  • 写回答

1条回答 默认 最新

  • LYSnowy 2022-01-29 10:53
    关注
    
    def Traingle(x):
        '''定义杨辉三角的函数,即下一行的第N个元素,是本行的第N个元素和第N-2个元素的和,最后返回一个列表'''
        x = int(x)
        Traingle_list = []
        if x == 1:
            Traingle_list = [1]
        elif x == 2:
            Traingle_list = [1,1]
        else:
            Traingle_list_temp = Traingle(x-1)#获取上一行三角列表
            Traingle_list = [1,1]
            temp = 1
            while temp <= x-2:
                Traingle_list.insert(temp,Traingle_list_temp[temp]+Traingle_list_temp[temp-1])
                temp += 1
    
        return Traingle_list
    
    
    def PrintTringle(x):
        n = 1
        x = int(x)
        # 获取最大的元素,判断列表最大的元素的长度
        if x % 2 == 0:
            max_item = Traingle(x)[int(x/2)]
        else:
            max_item = Traingle(x)[int((x+1)/2)]
        max_length = len(str(max_item))
        while n <= x :
            list = Traingle(n)
            string = ''
            tem = 0
            # 对每一列杨辉三角进行处理,转化成为字符串,拼接
            while tem < len(list):
                if tem == 0:
                    string = str(list[tem]).center(max_length)
                else:
                    string = string + ' ' + str(list[tem]).center(max_length)
                tem += 1
            # 打印处理,每一列的元素有N个,空格用N+1
            print(string.center((max_length+1)*x-1))
            n += 1
    
    
    if __name__ == '__main__':
        PrintTringle(10)
    

    img

    不用居中,输出空格就可以

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 2月6日
  • 已采纳回答 1月29日
  • 修改了问题 1月29日
  • 修改了问题 1月29日
  • 展开全部

悬赏问题

  • ¥15 网络科学导论,网络控制
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)