首页 > 编程语言 > 详细

python生成器实现杨辉三角

时间:2016-07-20 17:49:26      阅读:259      评论:0      收藏:0      [点我收藏+]
 1 def triangels():
 2     """
 3     杨辉三角
 4     """
 5     lst = [1]
 6     n_count = 2 # 下一行列表长度
 7     while True:
 8         yield lst
 9         lst_n = list(range(0 ,n_count))                    
10         lst = [1] + [lst[i-1]+lst[i] for i,v in enumerate(lst_n) if i!=0 and i!=n_count-1] + [1]
11         n_count += 1

调用:

1  n = 0
2  while n < 10:
3      next(x)
4      n += 1

 

实现效果:

# [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生成器实现杨辉三角

原文:http://www.cnblogs.com/seastar1989/p/5689063.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!