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实现的jpg格式图片修复代码
Apr 21 Python
python写入中英文字符串到文件的方法
May 06 Python
python脚本设置系统时间的两种方法
Feb 21 Python
python万年历实现代码 含运行结果
May 20 Python
python针对excel的操作技巧
Mar 13 Python
让Django支持Sql Server作后端数据库的方法
May 29 Python
python实现随机漫步算法
Aug 27 Python
对python捕获ctrl+c手工中断程序的两种方法详解
Dec 26 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
Mar 14 Python
Python-jenkins 获取job构建信息方式
May 12 Python
Python实现为PDF去除水印的示例代码
Apr 03 Python
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
Apr 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
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
2011/04/17 PHP
PHP文章按日期(月日)SQL归档语句
2012/11/29 PHP
重构Javascript代码示例(重构前后对比)
2013/01/23 Javascript
node.js中watch机制详解
2014/11/17 Javascript
node.js中的path.extname方法使用说明
2014/12/09 Javascript
jQuery中click事件的定义和用法
2014/12/20 Javascript
jQuery中:first选择器用法实例
2014/12/30 Javascript
jquery判断至少有一个checkbox被选中的方法
2015/06/05 Javascript
JavaScript中调用函数的4种方式代码实例
2015/07/08 Javascript
详谈JS中实现种子随机数及作用
2016/07/19 Javascript
JS实现六位字符密码输入器功能
2016/08/19 Javascript
canvas实现粒子时钟效果
2017/02/06 Javascript
vue click.stop阻止点击事件继续传播的方法
2018/09/04 Javascript
Angular4.x Event (DOM事件和自定义事件详解)
2018/10/09 Javascript
跟老齐学Python之有容乃大的list(4)
2014/09/28 Python
讲解Python中的递归函数
2015/04/27 Python
python的exec、eval使用分析
2017/12/11 Python
python爬取淘宝商品详情页数据
2018/02/23 Python
基于python绘制科赫雪花
2018/06/22 Python
在python中实现将一张图片剪切成四份的方法
2018/12/05 Python
python分数表示方式和写法
2019/06/26 Python
详解Python 多线程 Timer定时器/延迟执行、Event事件
2019/06/27 Python
python PyQt5/Pyside2 按钮右击菜单实例代码
2019/08/17 Python
Python实现新型冠状病毒传播模型及预测代码实例
2020/02/05 Python
解决pycharm debug时界面下方不出现step等按钮及变量值的问题
2020/06/09 Python
Python Matplotlib简易教程(小白教程)
2020/07/28 Python
屈臣氏泰国官网:Watsons TH
2021/02/23 全球购物
自考生自我鉴定范文
2013/10/01 职场文书
医学专业毕业生求职信
2014/06/20 职场文书
小班教师个人总结
2015/02/05 职场文书
2015年社区环境卫生工作总结
2015/04/21 职场文书
2015年禁毒工作总结
2015/04/30 职场文书
创业计划书之零食店(进口)
2019/09/24 职场文书
mysql sql常用语句大全
2022/06/21 MySQL
nginx配置指令之server_name的具体使用
2022/08/14 Servers