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中实现字符串类型与字典类型相互转换的方法
Aug 18 Python
python中对list去重的多种方法
Sep 18 Python
Python实现Linux中的du命令
Jun 12 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
Apr 20 Python
python判断完全平方数的方法
Nov 13 Python
在windows下使用python进行串口通讯的方法
Jul 02 Python
详解Django配置优化方法
Nov 18 Python
python标准库os库的函数介绍
Feb 12 Python
Python自动重新加载模块详解(autoreload module)
Apr 01 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
Jun 08 Python
python实现银行账户系统
Feb 22 Python
提取视频中的音频 Python只需要三行代码!
May 10 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
音乐朗读剧《MARS RED》2021年TV动画化决定!
2020/03/06 日漫
在任意字符集下正常显示网页的方法二(续)
2007/04/01 PHP
浅谈PHP 闭包特性在实际应用中的问题
2009/10/30 PHP
使用迭代器 遍历文件信息的详解
2013/06/08 PHP
PHP文件缓存smarty模板应用实例分析
2016/02/26 PHP
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
2016/07/21 PHP
浅谈laravel-admin的sortable和orderby使用问题
2019/10/03 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
巧妙破除网页右键禁用的十大绝招
2006/08/12 Javascript
用正则表达式 动态创建/增加css style script 兼容IE firefox
2009/03/10 Javascript
javascript new一个对象的实质
2010/01/07 Javascript
jquery(live)中File input的change方法只起一次作用的解决办法
2011/10/21 Javascript
日历查询的算法 如何计算某一天是星期几
2012/12/12 Javascript
如何将网页表格内容导入excel
2014/02/18 Javascript
jQuery获取复选框被选中数量及判断选择值的方法详解
2016/05/25 Javascript
Bootstrap登陆注册页面开发教程
2016/07/12 Javascript
JS获取中文拼音首字母并通过拼音首字母快速查找页面内对应中文内容的方法【附demo源码】
2016/08/19 Javascript
利用JavaScript判断浏览器类型及版本
2016/08/23 Javascript
深入理解jQuery.data() 的实现方式
2016/11/30 Javascript
Jquery鼠标放上去显示全名的实现方法
2017/02/06 Javascript
jQuery实现合并表格单元格中相同行操作示例
2019/01/28 jQuery
一次让你了解全部JavaScript的作用域
2019/06/24 Javascript
Vue中使用matomo进行访问流量统计的实现
2019/11/05 Javascript
[03:37]2014DOTA2国际邀请赛 主赛事第一日胜者组TOPPLAY
2014/07/19 DOTA
[02:36]DOTA2上海特锦赛 回忆电竞生涯的重要瞬间
2016/03/25 DOTA
python 排列组合之itertools
2013/03/20 Python
python备份文件以及mysql数据库的脚本代码
2013/06/10 Python
Python的Flask开发框架简单上手笔记
2015/11/16 Python
tensorflow创建变量以及根据名称查找变量
2018/03/10 Python
详解Python正则表达式re模块
2019/03/19 Python
Python的Django框架实现数据库查询(不返回QuerySet的方法)
2020/05/19 Python
python获得命令行输入的参数的两种方式
2020/11/02 Python
澳大利亚领先的在线美容商店:Facial Co
2017/10/22 全球购物
意大利一家专营包包和配饰的网上商店:Borse Last Minute
2019/08/26 全球购物
教你用Python爬取英雄联盟皮肤原画
2021/06/13 Python
VUE递归树形实现多级列表
2022/07/15 Vue.js