一个超强的杨辉三角python实现方法

廖雪峰Python教程——生成器

有这么一个习题:

练习

杨辉三角定义如下:

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

 

把每一行看做一个list,试写一个generator,不断输出下一行的list:

# -*- coding: utf-8 -*-

def triangles():

 

在评论里发现这么一个强大的答案:

1 N = [1]
2 while True:
3     yield N
4     N.append(0)
5     N = [N[i-1] + N[i] for i in range(len(N))]

 

真想给100个赞

posted @ 2016-03-29 09:43  Chinagn  阅读(9537)  评论(3编辑  收藏  举报