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的Flask框架下使用sqlalchemy库的简单教程
Apr 09 Python
Python中title()方法的使用简介
May 20 Python
Django中URL视图函数的一些高级概念介绍
Jul 20 Python
python自动截取需要区域,进行图像识别的方法
May 17 Python
python实现寻找最长回文子序列的方法
Jun 02 Python
Tensorflow中使用tfrecord方式读取数据的方法
Jun 19 Python
使用pycharm设置控制台不换行的操作方法
Jan 19 Python
django框架ModelForm组件用法详解
Dec 11 Python
Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式
Mar 11 Python
python适合做数据挖掘吗
Jun 16 Python
Python钉钉报警及Zabbix集成钉钉报警的示例代码
Aug 17 Python
Python 高效编程技巧分享
Sep 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
php生成随机密码的几种方法
2011/01/17 PHP
php源代码安装常见错误与解决办法分享
2013/05/28 PHP
php文件夹与文件目录操作函数介绍
2013/09/09 PHP
浅谈PHP中的
2016/04/23 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
NodeJS url验证(url-valid)的使用方法
2013/11/18 NodeJs
js动态添加删除,后台取数据(示例代码)
2013/11/25 Javascript
基于jquery实现放大镜效果
2015/08/17 Javascript
javascript 中的console.log和弹出窗口alert
2016/08/30 Javascript
使用JavaScript为一张图片设置备选路径的方法
2017/01/04 Javascript
vue-cli入门之项目结构分析
2017/04/20 Javascript
Node.js 实现简单的接口服务器的实例代码
2017/05/23 Javascript
vue中$nextTick的用法讲解
2019/01/17 Javascript
ajax跨域访问遇到的问题及解决方案
2019/05/23 Javascript
在NodeJs中使用node-schedule增加定时器任务的方法
2020/06/08 NodeJs
[46:59]完美世界DOTA2联赛PWL S2 GXR vs Ink 第二场 11.19
2020/11/20 DOTA
Python中内建函数的简单用法说明
2016/05/05 Python
使用python实现mqtt的发布和订阅
2019/05/05 Python
Django框架orM与自定义SQL语句混合事务控制操作
2019/06/27 Python
Python高级property属性用法实例分析
2019/11/19 Python
python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例
2020/03/19 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
使用Keras 实现查看model weights .h5 文件的内容
2020/06/09 Python
python自动化测试三部曲之request+django实现接口测试
2020/10/07 Python
澳大利亚百货商店中销量第一的商务衬衫品牌:Van Heusen
2018/07/26 全球购物
智能钱包:Ekster
2019/11/21 全球购物
一套SQL笔试题
2016/08/14 面试题
市场部专员岗位职责
2013/11/30 职场文书
社区八一活动方案
2014/02/03 职场文书
《都江堰》教学反思
2014/02/07 职场文书
土木工程专业推荐信
2014/02/19 职场文书
营销学习心得体会
2014/09/12 职场文书
乡镇计划生育工作汇报
2014/10/28 职场文书
2014年转正工作总结
2014/11/08 职场文书
2014年教学工作总结
2014/11/13 职场文书
Python中Permission denied的解决方案
2021/04/02 Python