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日
  • 展开全部

悬赏问题

  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R