杨辉三角

杨辉三角,是二项式系数在三角形中的一种几何排列。

顶端为1,视为第0行;第1行两个1。每个数字等于它左上方的数字加上右上方的数字,不在这个三角形之内的视为0。

定义一个函数yanghui(),生成杨辉三角形。

def yanghui(n):
    list = []
    for row in range(n+1):
        if row < 2:#生成第0行和第1行
            n_row = [1 for i in range(row+1)]  
        else:#生成第2行,第3行***,第n行
            last_row =list[-1]
            n_row = [last_row[j] + last_row[j + 1] for j in range(row - 1)]
            n_row = [1] + n_row + [1]
        list.append(n_row)#每生成1行加入到列表中
    return list
yh = yanghui(5)#调用函数yanghui(),传入参数5,将结果存入变量yh。
for i in yh:
    print('{:^20}'.format(str(i)[1:-1]))
    

运行结果:

          1          
        1, 1        
      1, 2, 1       
     1, 3, 3, 1     
   1, 4, 6, 4, 1    
 1, 5, 10, 10, 5, 1 
 
 
 
 
 

猜你喜欢

转载自www.cnblogs.com/congcong826/p/8963294.html