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 相关文章推荐
CentOS 6.5下安装Python 3.5.2(与Python2并存)
Jun 05 Python
python3使用requests模块爬取页面内容的实战演练
Sep 25 Python
13个最常用的Python深度学习库介绍
Oct 28 Python
详解通过API管理或定制开发ECS实例
Sep 30 Python
浅谈django的render函数的参数问题
Oct 16 Python
python2和python3应该学哪个(python3.6与python3.7的选择)
Oct 01 Python
PyTorch 对应点相乘、矩阵相乘实例
Dec 27 Python
keras和tensorflow使用fit_generator 批次训练操作
Jul 03 Python
pycharm如何使用anaconda中的各种包(操作步骤)
Jul 31 Python
Python基于Webhook实现github自动化部署
Nov 28 Python
基于Python的EasyGUI学习实践
May 07 Python
梳理总结Python开发中需要摒弃的18个坏习惯
Jan 22 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
YB217、YB235、YB400浅听
2021/03/02 无线电
php中error与exception的区别及应用
2014/07/28 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
2017/03/31 PHP
PHP实现中国公民身份证号码有效性验证示例代码
2017/05/03 PHP
ExtJS 2.0实用简明教程 之Border区域布局
2009/04/29 Javascript
Prototype Template对象 学习
2009/07/19 Javascript
JQuery操作单选按钮以及复选按钮示例
2013/09/23 Javascript
JS实现局部选择打印和局部不选择打印
2014/04/03 Javascript
简单的分页代码js实现
2016/05/17 Javascript
纯JavaScript 实现flappy bird小游戏实例代码
2016/09/27 Javascript
jQuery模拟完美实现经典FLASH导航动画效果【附demo源码下载】
2016/11/09 Javascript
JavaScript队列、优先队列与循环队列
2016/11/14 Javascript
浅谈Node.js:Buffer模块
2016/12/05 Javascript
js实现带三角符的手风琴效果
2017/03/01 Javascript
vue2.0中vue-cli实现全选、单选计算总价格的实例代码
2017/07/18 Javascript
web前端vue之CSS过渡效果示例
2018/01/10 Javascript
浅谈如何通过node.js对数据进行MD5加密
2018/05/16 Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
2018/08/22 Javascript
Vue extend的基本用法(实例详解)
2019/12/09 Javascript
JavaScript命令模式原理与用法实例详解
2020/03/10 Javascript
vue项目实现多语言切换的思路
2020/09/17 Javascript
Python环境下安装使用异步任务队列包Celery的基础教程
2016/05/07 Python
浅谈机器学习需要的了解的十大算法
2017/12/15 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
2018/06/04 Python
Python decimal模块使用方法详解
2020/06/08 Python
Python识别处理照片中的条形码
2020/11/16 Python
CSS3实现自定义Checkbox特效实例代码
2017/04/24 HTML / CSS
有关HTML5页面在iPhoneX适配问题
2017/11/13 HTML / CSS
俄罗斯香水和化妆品在线商店:Aroma-butik
2020/02/28 全球购物
公共事业管理本科生求职信
2013/10/07 职场文书
运动会广播稿400字
2014/01/25 职场文书
求职自我推荐信
2014/06/25 职场文书
2015年房地产个人工作总结
2015/05/26 职场文书
创业不要错过,这4种餐饮新模式
2019/07/18 职场文书
Python爬虫:从m3u8文件里提取小视频的正确操作
2021/05/14 Python
Java实现多文件上传功能
2021/06/30 Java/Android