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生态系统(Python新手入门指导)
Dec 11 Python
python数据类型判断type与isinstance的区别实例解析
Oct 31 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
Apr 12 Python
python实现树的深度优先遍历与广度优先遍历详解
Oct 26 Python
python实现的读取网页并分词功能示例
Oct 29 Python
python中自带的三个装饰器的实现
Nov 08 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
Mar 30 Python
Python3.7下安装pyqt5的方法步骤(图文)
May 12 Python
python3读取autocad图形文件.py实例
Jun 05 Python
python调用百度API实现人脸识别
Nov 17 Python
PyQt5 显示超清高分辨率图片的方法
Apr 11 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
BBS(php & mysql)完整版(六)
2006/10/09 PHP
收集的二十一个实用便利的PHP函数代码
2010/04/22 PHP
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
2014/07/14 PHP
php的ddos攻击解决方法
2015/01/08 PHP
PHP 信号管理知识整理汇总
2017/02/19 PHP
jquery 双色表格实现代码
2009/12/08 Javascript
js实现可拖动DIV的方法
2013/12/17 Javascript
node.js中的fs.chmod方法使用说明
2014/12/18 Javascript
页面内容排序插件jSort使用方法
2015/10/10 Javascript
JavaScript中style.left与offsetLeft的使用及区别详解
2016/06/08 Javascript
Ztree新增角色和编辑角色回显问题的解决
2016/10/25 Javascript
js基于myFocus实现轮播图效果
2017/02/14 Javascript
完美解决mui框架off-canvas侧滑超出部分隐藏无法滚动的问题
2018/01/25 Javascript
微信小程序之批量上传并压缩图片的实例代码
2018/07/05 Javascript
微信小程序中使用echarts的实现方法
2019/04/24 Javascript
改变layer confirm弹窗按钮的颜色方法
2019/09/12 Javascript
vue路由传参三种基本方式详解
2019/12/09 Javascript
vue学习笔记之作用域插槽实例分析
2020/02/01 Javascript
JavaScript实现猜数字游戏
2020/05/20 Javascript
Vue(定时器)解决mounted不能获取到data中的数据问题
2020/07/30 Javascript
vue+Element-ui前端实现分页效果
2020/11/15 Javascript
python开发之thread实现布朗运动的方法
2015/11/11 Python
Python发展史及网络爬虫
2019/06/19 Python
python 数据提取及拆分的实现代码
2019/08/26 Python
Python爬虫+Tkinter制作一个翻译软件的示例
2021/02/20 Python
移动HTML5前端框架—MUI的使用
2017/12/18 HTML / CSS
美国定制钻石订婚戒指:Ritani
2017/12/08 全球购物
美国围栏公司:Walpole Outdoors
2019/11/19 全球购物
全球最受追捧的运动服品牌领先数字目的地:Stylerunner
2020/11/25 全球购物
门卫岗位安全职责
2013/12/13 职场文书
最新个人职业生涯规划书
2014/01/22 职场文书
旅游网创业计划书
2014/01/31 职场文书
厨房管理计划书
2014/04/27 职场文书
企业宣传策划方案
2014/05/29 职场文书
2014感恩节演讲稿大全
2014/10/11 职场文书
吃空饷专项整治方案
2014/10/27 职场文书