zoukankan      html  css  js  c++  java
  • 算法——帕斯卡三角

    帕斯卡三角(Psacal's Triangle)

    # 帕斯卡三角(Pascal's Triangle)
    def triangle(rows: int):
        tri = []
        for row in range(1, rows+1):
            new_row = []
            for item in range(row):
                new_row.append(1)
            tri.append(new_row)
        for row in range(1, len(tri)-1):
            for index in range(len(tri[row+1])):
                if index == 0 or index == -1:
                    continue
                try:
                    tri[row+1][index] = tri[row][index-1] + tri[row][index]
                except:
                    pass
        return tri
    
    
    if __name__ == '__main__':
        rows = 10
        length = rows * 3
        count = 1
        for row in triangle(rows):
            print(' ' * ((length-count*3)//2), row, sep='')
            count += 1

    # 另一种打印方式(更好的打印方法,如果使用第一种打印方法来打印20行的帕斯卡三角形的话误差会比较大)

    # 帕斯卡三角(Pascal's Triangle)
    def triangle(rows: int):
        tri = []
        for row in range(1, rows+1):
            new_row = []
            for item in range(row):
                new_row.append(1)
            tri.append(new_row)
        for row in range(1, len(tri)-1):
            for index in range(len(tri[row+1])):
                if index == 0 or index == -1:
                    continue
                try:
                    tri[row+1][index] = tri[row][index-1] + tri[row][index]
                except:
                    pass
        return tri
    
    
    if __name__ == '__main__':
        rows = 10
        count = 1
        length = 0
        for i in triangle(rows)[-1]:
            length += len(str(i)) + 2
        for row in triangle(rows): 
            row_length = 0
            for i in row:
                row_length += len(str(i)) + 2
            print(' ' * ((length-row_length)//2), row, sep='')
            count += 1

    # 20行效果图

    Resistance is Futile!
  • 相关阅读:
    Docker入门之docker-compose [转]
    防火墙和iptables
    MariaDB/MySQL备份和恢复(三):xtrabackup用法和原理详述
    Veritas NetBackup™ for VMware 介绍 (NBU版本 8.2)
    RMAN备份恢复所需要了解的Oracle术语
    mac 下使用命令行打开项目
    ORACLE 11g RAC-RAC DG Duplicate 搭建(生产操作文档)
    15-vuex
    14-Promise
    13-vue-router2
  • 原文地址:https://www.cnblogs.com/noonjuan/p/10993387.html
Copyright © 2011-2022 走看看