Python中使用生成器实现杨辉三角

图片发自App

其中输出部分运用了字符串的格式化知识,在我的另一篇简文《Python学习笔记》中有记录python中字符串的格式化输出。


#!/usr/bin/python3
def triangles(n):
    L=[1]
    while(True):
        yield L
        L=[L[x]+L[x+1] for x in range(len(L)-1)]
        L.insert(0,1)
        L.append(1)
        if len(L)>n:
            break
for t in triangles(10):
    print (format(str(t),'^50'))

输出:

                       [1]                        
                      [1, 1]                      
                    [1, 2, 1]                     
                   [1, 3, 3, 1]                   
                 [1, 4, 6, 4, 1]                  
               [1, 5, 10, 10, 5, 1]               
             [1, 6, 15, 20, 15, 6, 1]             
           [1, 7, 21, 35, 35, 21, 7, 1]           
         [1, 8, 28, 56, 70, 56, 28, 8, 1]         
      [1, 9, 36, 84, 126, 126, 84, 36, 9, 1]      

你可能感兴趣的:(Python中使用生成器实现杨辉三角)