Algorithm - Pascal's Triangle

Pascal's triangle (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

 

 

# Another way to print

 

# 帕斯卡三角(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 line renderings

Guess you like

Origin www.cnblogs.com/noonjuan/p/10993387.html
Recommended