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进程通信之匿名管道实例讲解
Apr 11 Python
Python基础入门之seed()方法的使用
May 15 Python
浅谈django orm 优化
Aug 18 Python
python中将正则过滤的内容输出写入到文件中的实例
Oct 21 Python
简单了解python关系(比较)运算符
Jul 08 Python
python支付宝支付示例详解
Aug 22 Python
为什么说Python可以实现所有的算法
Oct 04 Python
Python configparser模块封装及构造配置文件
Aug 07 Python
Python reversed反转序列并生成可迭代对象
Oct 22 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
Feb 07 Python
python tkinter实现下载进度条及抖音视频去水印原理
Feb 07 Python
Pytorch 使用tensor特定条件判断索引
Apr 08 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/12/30 PHP
很让人受教的 提高php代码质量36计
2012/09/05 PHP
jQuery向下滚动即时加载内容实现的瀑布流效果
2016/01/07 PHP
php array_values 返回数组的值实例详解
2016/11/17 PHP
javascript权威指南 学习笔记之javascript数据类型
2011/09/24 Javascript
javascript数组去重3种方法的性能测试与比较
2013/03/26 Javascript
浅谈重写window对象的方法
2014/12/29 Javascript
AngularJS基础学习笔记之指令
2015/05/10 Javascript
JQuery插入DOM节点的方法
2015/06/11 Javascript
JS实现支持多选的遍历下拉列表代码
2015/08/20 Javascript
JS中artdialog弹出框控件之提交表单思路详解
2016/04/18 Javascript
Angular 2父子组件数据传递之@Input和@Output详解(下)
2017/07/05 Javascript
AngularJS 表单验证手机号的实例(非必填)
2017/11/12 Javascript
详细分析单线程JS执行问题
2017/11/22 Javascript
11行JS代码制作二维码生成功能
2018/03/09 Javascript
vue实现个人信息查看和密码修改功能
2018/05/06 Javascript
vue实现点击隐藏与显示实例分享
2019/02/13 Javascript
vue生命周期的探索
2019/04/03 Javascript
Vue中使用Lodop插件实现打印功能的简单方法
2019/12/19 Javascript
node.js使用mongoose操作数据库实现购物车的增、删、改、查功能示例
2019/12/23 Javascript
JavaScript实现雪花飘落效果
2020/12/27 Javascript
精确查找PHP WEBSHELL木马的方法(1)
2011/04/12 Python
Python中模块string.py详解
2017/03/12 Python
使用Python搭建虚拟环境的配置方法
2018/02/28 Python
python读取图片并修改格式与大小的方法
2018/07/24 Python
pycharm实现在子类中添加一个父类没有的属性
2020/03/12 Python
如何用Python徒手写线性回归
2021/01/25 Python
大学军训感言300字
2014/03/09 职场文书
水毁工程实施方案
2014/04/01 职场文书
表扬通报怎么写
2015/01/16 职场文书
幼儿园中秋节活动总结
2015/03/23 职场文书
2019年教师入党申请书
2019/06/27 职场文书
2019送给家人们的中秋节祝福语
2019/08/15 职场文书
关于Nginx中虚拟主机的一些冷门知识小结
2022/03/03 Servers
SQL Server中使用表变量和临时表
2022/05/20 SQL Server
Python 操作pdf pdfplumber读取PDF写入Exce
2022/08/14 Python