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 相关文章推荐
NetworkX之Prim算法(实例讲解)
Dec 22 Python
python中cPickle类使用方法详解
Aug 27 Python
Python3.5内置模块之random模块用法实例分析
Apr 26 Python
Django 请求Request的具体使用方法
Nov 11 Python
Python实现把类当做字典来访问
Dec 16 Python
python3中关于excel追加写入格式被覆盖问题(实例代码)
Jan 10 Python
pytorch实现Tensor变量之间的转换
Feb 17 Python
Django中的session用法详解
Mar 09 Python
Python基于execjs运行js过程解析
Nov 27 Python
Python基于mediainfo批量重命名图片文件
Dec 29 Python
Python+Appium实现自动抢微信红包
May 21 Python
Python操作CSV格式文件的方法大全
Jul 15 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 引用是个坏习惯
2010/03/12 PHP
PHP程序漏洞产生的原因分析与防范方法说明
2014/03/06 PHP
thinkphp分页实现效果
2016/10/13 PHP
PHP的消息通信机制测试实例
2016/11/10 PHP
php封装实现钉钉机器人报警接口的示例代码
2020/08/08 PHP
几个常用的JavaScript字符串处理函数 - split()、join()、substring()和indexOf()
2009/06/02 Javascript
jQuery使用元素属性attr赋值详解
2015/02/27 Javascript
JS实现鼠标箭头变成一个燃烧烛光效果的方法
2015/02/28 Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
2016/08/11 Javascript
jQuery表单事件实例代码分享
2016/08/18 Javascript
vue如何实现observer和watcher源码解析
2017/03/09 Javascript
微信小游戏中three.js离屏画布的示例代码
2020/10/12 Javascript
[54:15]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第二场2月1日
2021/03/11 DOTA
python实现的DES加密算法和3DES加密算法实例
2015/06/03 Python
Python实现二叉搜索树
2016/02/03 Python
python连接mysql实例分享
2016/10/09 Python
Python实现打印螺旋矩阵功能的方法
2017/11/21 Python
Python continue继续循环用法总结
2018/06/10 Python
解决Pandas的DataFrame输出截断和省略的问题
2019/02/08 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
2019/07/15 Python
python Django里CSRF 对应策略详解
2019/08/05 Python
css3实现背景模糊的三种方式(小结)
2020/05/15 HTML / CSS
HTML5 文件域+FileReader 分段读取文件并上传到服务器
2017/10/23 HTML / CSS
中国最大的名表商城:万表网
2016/08/29 全球购物
人事主管的岗位职责
2013/11/16 职场文书
出纳岗位职责范本
2013/12/01 职场文书
治超工作实施方案
2014/05/04 职场文书
诚信的演讲稿范文
2014/05/12 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
优秀班主任先进事迹材料
2014/12/16 职场文书
前台文员岗位职责
2015/02/04 职场文书
毕业论文致谢范文
2015/05/14 职场文书
2019各种保证书范文
2019/06/24 职场文书
如何在centos上使用yum安装rabbitmq-server
2021/03/31 Servers
Spring Data JPA使用JPQL与原生SQL进行查询的操作
2021/06/15 Java/Android
Go语言测试库testify使用学习
2022/07/23 Golang