Python极简代码实现杨辉三角示例代码


Posted in Python onNovember 15, 2016

杨辉三角,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角形中的一种几何排列。

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

实现下列输出效果:

# [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]

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

极简代码实现:

def triangles(): 
  L = [1] 
  while True: 
    yield L 
    L.append(0); 
    L = [L[i-1] + L[i] for i in range(len(L))] 
n = 0 
for t in triangles(): 
  print(t) 
  n = n + 1 
  if n == 10: 
    break

注:普通函数和generator生成器的区别:

1、普通函数调用直接返回结果,generator函数的调用,返回一个generator对象;(调用generator时可以先创建一个对象,再用next()方法不断获得下一个返回值,但实际中通常用for循环实现)

2、generator在执行过程中,遇到yield就中断,下次又继续执行

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。

Python 相关文章推荐
使用Python获取Linux系统的各种信息
Jul 10 Python
Python3中的2to3转换工具使用示例
Jun 12 Python
pandas创建新Dataframe并添加多行的实例
Apr 08 Python
详解配置Django的Celery异步之路踩坑
Nov 25 Python
pycharm debug功能实现跳到循环末尾的方法
Nov 29 Python
python2与python3爬虫中get与post对比解析
Sep 18 Python
pyftplib中文乱码问题解决方案
Jan 11 Python
pytorch常见的Tensor类型详解
Jan 15 Python
Python基于stuck实现scoket文件传输
Apr 02 Python
Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)
Jun 14 Python
pytorch 一行代码查看网络参数总量的实现
May 12 Python
Python3中PyQt5简单实现文件打开及保存
Jun 10 Python
Python实现将不规范的英文名字首字母大写
Nov 15 #Python
利用Python开发实现简单的记事本
Nov 15 #Python
Python解析excel文件存入sqlite数据库的方法
Nov 15 #Python
听歌识曲--用python实现一个音乐检索器的功能
Nov 15 #Python
Python字典简介以及用法详解
Nov 15 #Python
python xml解析实例详解
Nov 14 #Python
python入门基础之用户输入与模块初认识
Nov 14 #Python
You might like
PHP实现微信小程序人脸识别刷脸登录功能
2018/05/24 PHP
php探针使用原理和技巧讲解
2019/09/17 PHP
JavaScript事件委托的技术原理探讨示例
2014/04/17 Javascript
jQuery实现倒计时按钮功能代码分享
2014/09/03 Javascript
jQuery类选择器用法实例
2014/12/23 Javascript
jquery中validate与form插件提交的方式小结
2016/03/26 Javascript
深入分析javascript中的错误处理机制
2016/07/17 Javascript
jQuery select自动选中功能实现方法分析
2016/11/28 Javascript
vue实现模态框的通用写法推荐
2018/02/26 Javascript
vue项目国际化vue-i18n的安装使用教程
2018/03/14 Javascript
vue自定义tap指令及tap事件的实现
2018/09/18 Javascript
vue路由守卫,限制前端页面访问权限的例子
2019/11/11 Javascript
微信小程序上传帖子的实例代码(含有文字图片的微信验证)
2020/07/11 Javascript
vue项目开启Gzip压缩和性能优化操作
2020/10/26 Javascript
javascript实现电商放大镜效果
2020/11/23 Javascript
[49:21]2018DOTA2亚洲邀请赛3月30日 小组赛B组 Effect VS iG
2018/03/31 DOTA
[48:26]VGJ.S vs infamous Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
Python中的二叉树查找算法模块使用指南
2014/07/04 Python
Python本地与全局命名空间用法实例
2015/06/16 Python
Python探索之ModelForm代码详解
2017/10/26 Python
详解用python生成随机数的几种方法
2019/08/04 Python
CSS实现聊天气泡效果
2020/04/26 HTML / CSS
欧洲最大的化妆品连锁公司:Douglas道格拉斯
2017/05/06 全球购物
澳大利亚波西米亚风连衣裙在线商店:Fortunate One
2019/04/01 全球购物
古驰英国官网:GUCCI英国
2020/03/07 全球购物
Stokke美国官方网店:高级儿童家具、推车、汽车座椅和配件
2020/06/06 全球购物
晚宴邀请函范文
2014/01/15 职场文书
大专生自我评价
2014/01/28 职场文书
2014年终个人工作总结
2014/11/07 职场文书
2014年酒店服务员工作总结
2014/12/08 职场文书
原料仓管员岗位职责
2015/04/01 职场文书
社区志愿服务活动感想
2015/08/07 职场文书
医院岗前培训心得体会
2016/01/08 职场文书
初中语文教学反思范文
2016/03/03 职场文书
SQL SERVER实现连接与合并查询
2022/02/24 SQL Server
用PYTHON去计算88键钢琴的琴键频率和音高
2022/04/10 Python