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处理大数字的方法
May 27 Python
Python实现计算最小编辑距离
Mar 17 Python
Python的shutil模块中文件的复制操作函数详解
Jul 05 Python
PyQt 线程类 QThread使用详解
Jul 16 Python
Django中ORM表的创建和增删改查方法示例
Nov 15 Python
python timestamp和datetime之间转换详解
Dec 11 Python
Python实现多条件筛选目标数据功能【测试可用】
Jun 13 Python
python中正则表达式与模式匹配
May 07 Python
使用python将多个excel文件合并到同一个文件的方法
Jul 09 Python
基于 Django 的手机管理系统实现过程详解
Aug 16 Python
Python grequests模块使用场景及代码实例
Aug 10 Python
python可视化之颜色映射详解
Sep 15 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
基于Laravel(5.4版本)的基本增删改查操作方法
2019/10/11 PHP
js加入收藏夹代码(兼容ie/ff/op)
2014/05/16 Javascript
火狐下input焦点无法重复获取问题的解决方法
2014/06/16 Javascript
使用JS画图之点、线、面
2015/01/12 Javascript
javascript实现图片循环渐显播放的方法
2015/02/24 Javascript
jQuery+html5实现div弹出层并遮罩背景
2015/04/15 Javascript
AngularJS基础 ng-value 指令简单示例
2016/08/03 Javascript
JS简单实现无缝滚动效果实例
2016/08/24 Javascript
angularjs 中$apply,$digest,$watch详解
2016/10/13 Javascript
微信小程序实现图片自适应(支持多图)
2017/01/25 Javascript
javascript设计模式之模块模式学习笔记
2017/02/15 Javascript
JS实现的点击表头排序功能示例
2017/03/27 Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
2017/05/03 Javascript
js编写选项卡效果
2017/05/23 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
2017/06/12 jQuery
详解处理bootstrap4不支持远程静态框问题
2018/07/20 Javascript
Element-ui之ElScrollBar组件滚动条的使用方法
2018/09/14 Javascript
微信小程序云函数添加数据到数据库的方法
2020/03/04 Javascript
[00:32]2018DOTA2亚洲邀请赛EG出场
2018/04/03 DOTA
Python实现多线程下载文件的代码实例
2014/06/01 Python
Python的迭代器和生成器
2015/07/29 Python
python脚本实现数据导出excel格式的简单方法(推荐)
2016/12/30 Python
用Python写一个模拟qq聊天小程序的代码实例
2019/03/06 Python
python实现趣味图片字符化
2019/04/30 Python
python 模拟银行转账功能过程详解
2019/08/06 Python
Django调用百度AI接口实现人脸注册登录代码实例
2020/04/23 Python
详解Java中一维、二维数组在内存中的结构
2021/02/11 Python
HTML5 拖放功能实现代码
2016/07/14 HTML / CSS
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
英国家居装饰品、户外家具和玻璃器皿购物网站:Rinkit.com
2019/11/04 全球购物
如何向接受结构参数的函数传入常数值
2016/02/17 面试题
平面设计岗位职责
2013/12/14 职场文书
公司新年寄语
2014/04/04 职场文书
保护环境倡议书300字
2014/05/19 职场文书
苦儿流浪记读书笔记
2015/07/01 职场文书
2016年重阳节慰问信
2015/12/01 职场文书