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实现向QQ群成员自动发邮件的方法
Nov 19 Python
Python的numpy库中将矩阵转换为列表等函数的方法
Apr 04 Python
Python把csv数据写入list和字典类型的变量脚本方法
Jun 15 Python
用Python获取摄像头并实时控制人脸的实现示例
Jul 11 Python
Flask配置Cors跨域的实现
Jul 12 Python
Python使用docx模块实现刷题功能代码
Feb 13 Python
opencv+python实现均值滤波
Feb 19 Python
利用python绘制数据曲线图的实现
Apr 09 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
May 20 Python
pandas DataFrame运算的实现
Jun 14 Python
python中绕过反爬虫的方法总结
Nov 25 Python
pandas 按日期范围筛选数据的实现
Feb 20 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 MySQL与分页效率
2008/06/04 PHP
PHP取整数函数常用的四种方法小结
2012/07/05 PHP
PHP设计模式之解释器模式的深入解析
2013/06/13 PHP
php实现随机生成易于记忆的密码
2015/06/19 PHP
js parentElement和offsetParent之间的区别
2010/03/23 Javascript
js window.onload 加载多个函数和追加函数详解
2014/01/08 Javascript
jQuery截取指定长度字符串的实现原理及代码
2014/07/01 Javascript
Node.js与PHP、Python的字符处理性能对比
2014/07/06 Javascript
jQuery使用之设置元素样式用法实例
2015/01/19 Javascript
JS判断字符串包含的方法
2015/05/05 Javascript
javascript中使用正则表达式清理table样式的代码
2020/04/01 Javascript
Webpack 实现 AngularJS 的延迟加载
2016/03/02 Javascript
JS实现获取当前URL和来源URL的方法
2016/08/24 Javascript
vue 循环加载数据并获取第一条记录的方法
2018/09/26 Javascript
基于Vue中的父子传值问题解决
2020/07/27 Javascript
Node.js 深度调试方法解析
2020/07/28 Javascript
js利用拖放实现添加删除
2020/08/27 Javascript
[14:00]DOTA2国际邀请赛史上最长大战 赛后专访B神
2013/08/10 DOTA
[58:35]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
关于Python中Inf与Nan的判断问题详解
2017/02/08 Python
python素数筛选法浅析
2018/03/19 Python
python中时间模块的基本使用教程
2019/05/14 Python
python面试题Python2.x和Python3.x的区别
2019/05/28 Python
python调用自定义函数的实例操作
2019/06/26 Python
django框架模型层功能、组成与用法分析
2019/07/30 Python
python 函数中的参数类型
2020/02/11 Python
pycharm下pyqt4安装及环境配置的教程
2020/04/24 Python
Python selenium键盘鼠标事件实现过程详解
2020/07/28 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
2020/11/13 Python
Html5实现二维码扫描并解析
2016/01/20 HTML / CSS
购买大码女装:Lane Bryant
2016/09/07 全球购物
教师文明餐桌光盘行动倡议书
2015/04/28 职场文书
2015年大学生暑期实习报告
2015/07/13 职场文书
2015年店长个人工作总结
2015/10/23 职场文书
2016年五一国际劳动节活动总结
2016/04/06 职场文书