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实现倒计时的示例
Feb 14 Python
通过Python实现自动填写调查问卷
Sep 06 Python
Python Tkinter实现简易计算器功能
Jan 30 Python
浅析PHP与Python进行数据交互
May 15 Python
Django实现微信小程序的登录验证功能并维护登录态
Jul 04 Python
python3字符串操作总结
Jul 24 Python
sklearn-SVC实现与类参数详解
Dec 10 Python
python3 正则表达式基础廖雪峰
Mar 25 Python
Django数据库操作之save与update的使用
Apr 01 Python
Python基于Tkinter编写crc校验工具
May 06 Python
Python限制内存和CPU使用量的方法(Unix系统适用)
Aug 04 Python
Python3爬虫ChromeDriver的安装实例
Feb 06 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
福利彩票幸运号码自动生成器
2006/10/09 PHP
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
2014/01/31 PHP
PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例
2015/05/12 PHP
php遍历类中包含的所有元素的方法
2015/05/12 PHP
完美解决phpexcel导出到xls文件出现乱码的问题
2016/10/29 PHP
Javascript实例教程(19) 使用HoTMetal(3)
2006/12/23 Javascript
jQuery TextBox自动完成条
2009/07/22 Javascript
js 变量类型转换常用函数与代码[比较全]
2009/12/01 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
2014/02/21 Javascript
用C/C++来实现 Node.js 的模块(一)
2014/09/24 Javascript
分享20款美化网站的 jQuery Lightbox 灯箱插件
2014/10/10 Javascript
javascript数组详解
2014/10/22 Javascript
JavaScript正则表达式之multiline属性的应用
2015/06/16 Javascript
JavaScript的设计模式经典之建造者模式
2016/02/24 Javascript
简单谈谈JS数组中的indexOf方法
2016/10/13 Javascript
Canvas实现动态的雪花效果
2017/02/13 Javascript
angular6开发steps步骤条组件
2019/07/04 Javascript
windows系统中python使用rar命令压缩多个文件夹示例
2014/05/06 Python
Python挑选文件夹里宽大于300图片的方法
2015/03/05 Python
在Django的session中使用User对象的方法
2015/07/23 Python
python操作mysql数据库
2017/03/05 Python
Python 使用PyQt5 完成选择文件或目录的对话框方法
2019/06/27 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
2019/07/31 Python
python实现银行管理系统
2019/10/25 Python
python数据预处理 :样本分布不均的解决(过采样和欠采样)
2020/02/29 Python
Spring http服务远程调用实现过程解析
2020/06/11 Python
基于IE10/HTML5 开发
2013/04/22 HTML / CSS
使用canvas绘制超炫时钟
2014/12/17 HTML / CSS
servlet面试题
2012/08/20 面试题
师范大学音乐表演专业求职信
2013/10/23 职场文书
一名老师的自我评价
2014/02/07 职场文书
优秀学生干部先进事迹材料
2014/05/26 职场文书
承诺书格式范文
2014/06/03 职场文书
2014年班组工作总结
2014/11/20 职场文书
冰峪沟导游词
2015/02/09 职场文书
初中体育教学随笔
2015/08/15 职场文书