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 检查数组元素是否存在类似PHP isset()方法
Oct 14 Python
使用Python的urllib2模块处理url和图片的技巧两则
Feb 18 Python
python3 模拟登录v2ex实例讲解
Jul 13 Python
python删除过期log文件操作实例解析
Jan 31 Python
使用Python监控文件内容变化代码实例
Jun 04 Python
python+logging+yaml实现日志分割
Jul 22 Python
使用Python将字符串转换为格式化的日期时间字符串
Sep 01 Python
python 利用jinja2模板生成html代码实例
Oct 10 Python
python库matplotlib绘制坐标图
Oct 18 Python
pandas使用之宽表变窄表的实现
Apr 12 Python
解决keras backend 越跑越慢问题
Jun 18 Python
安装并免费使用Pycharm专业版(学生/教师)
Sep 24 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
DC《神奇女侠2》因疫情推迟上映 温子仁新恐怖片《恶性》撤档
2020/04/09 欧美动漫
ThinkPHP访问不存在的模块跳转到404页面的方法
2014/06/19 PHP
PHP实现可自定义样式的分页类
2016/03/29 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
CSS和JS标签style属性对照表(方便js开发的朋友)
2010/11/11 Javascript
2010年最佳jQuery插件整理
2010/12/06 Javascript
javaScript 删除字符串空格多种方法小结
2012/10/24 Javascript
jQuery中事件对象e的事件冒泡用法示例介绍
2014/04/25 Javascript
JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)
2014/10/17 Javascript
javascript实现简单的进度条
2015/07/02 Javascript
微信公众号开发 自定义菜单跳转页面并获取用户信息实例详解
2016/12/08 Javascript
自学实现angularjs依赖注入
2016/12/20 Javascript
微信小程序 判断手机号的实现代码
2017/04/19 Javascript
微信小程序如何获知用户运行小程序的场景教程
2017/05/17 Javascript
详解AngularJs路由之Ui-router-resolve(预加载)
2017/06/13 Javascript
微信小程序实现倒计时60s获取验证码
2020/04/17 Javascript
如何解决jQuery 和其他JS库的冲突
2020/06/22 jQuery
vue实现导航菜单和编辑文本的示例代码
2020/07/04 Javascript
[00:30]明星选手化身超级英雄!2018DOTA2亚洲邀请赛全明星赛来临!
2018/04/06 DOTA
[01:50:49]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第三场 1月24日
2021/03/11 DOTA
[51:39]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第二场 2月7日
2021/03/11 DOTA
Python入门篇之字典
2014/10/17 Python
基于pycharm导入模块显示不存在的解决方法
2018/10/13 Python
python getopt模块使用实例解析
2019/12/18 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
Python网络爬虫信息提取mooc代码实例
2020/03/06 Python
python3 配置logging日志类的操作
2020/04/08 Python
Python爬虫之Selenium多窗口切换的实现
2020/12/04 Python
深入剖析webstorage[html5的本地数据处理]
2016/07/11 HTML / CSS
英国综合网上购物商城:The Hut
2018/07/03 全球购物
eBay美国官网:eBay.com
2020/10/24 全球购物
化妆品店促销方案
2014/02/24 职场文书
项目施工员岗位职责
2014/03/09 职场文书
新春联欢会主持词
2014/03/24 职场文书
核心价值观演讲稿
2014/05/13 职场文书
动物科学专业求职信
2014/07/27 职场文书