Python生成器实现杨辉三角
来源:互联网 发布:湖南网络公关公司 编辑:程序博客网 时间:2024/06/06 03:16
杨辉三角
杨辉三角,是二项式系数在三角形中的一种几何排列。在欧洲,这个表叫做帕斯卡三角形。帕斯卡(1623----1662)是在1654年发现这一规律的,比杨辉要迟393年,比贾宪迟600年。(引自于:百度百科)
很容易就得出规律: 除根以外,每个数都由它上层的左右两数之和,一个数不存在即视为0。根为1
由此规律,易得每层边界数值为1
下面用Python的生成器来实现这个著名的三角:)
生成器实现
# _*_ coding: utf-8 _*_def yangHui(level): for i in range(level): # 由于根不符合抽象出的规律,单独处理 if i == 0: yield [1] gen = yangHui(level) else: current_level = [1] prev_level = next(gen) try: for j in range(i): current_level.append(prev_level[j] + prev_level[j+1]) # 这里会产生`IndexError`异常,因为最右边只有一个加数了,j+1过界 except: current_level.append(prev_level[j]) #pass finally: #current_level.append(1) yield current_levelif __name__ == '__main__': for i in yangHui(10): print(i)
运行结果如下:
wk:mysource mac$ python yanghui.py [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]
阅读全文
0 0
- Python生成器实现杨辉三角
- Python 利用生成器实现杨辉三角
- python.杨辉三角.生成器
- python实现杨辉三角(使用生成器generator)
- 【Python】用生成器generator简单实现杨辉三角
- Python 用一个生成器函数实现杨辉三角
- 【Python】生成器和杨辉三角
- python的生成器的应用yield--杨辉三角。
- python 学习之 generator(生成器)生成杨辉三角
- python学习——生成器使用杨辉三角
- 用python的生成器产生杨辉三角
- 杨辉三角(生成器)
- python实现杨辉三角
- 杨辉三角python实现
- python实现杨辉三角
- 杨辉三角 python实现
- 【生成器】用generator生成杨辉三角
- 用Python语言实现杨辉三角
- 非原创,使用html5做的旋转的太极图
- 看了一篇讲述Windows程序员前途的文章有感而发转过来
- http状态码详解
- Hibernate 基本概念
- Spring Cloud OAuth2 & Zuul
- Python生成器实现杨辉三角
- 关于发送邮件提醒的错误:java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
- WIN7 + VS2015环境下关于GLEW和GLFW的配置
- MySQL数据导入到infobright中
- 关于MySQL安装过程中遇到的问题
- ajax执行后台方法执行了两次
- 2017/9/14 (学习日记)(FAT12文件簇链的寻找)
- WamapServer Apache服务器起不来(非端口占用)
- NKOJ-3777 卡牌操作