一个超强的杨辉三角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个赞


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM