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实现定制交互式命令行的方法
Jul 03 Python
python实现数组插入新元素的方法
May 22 Python
Python正则表达式教程之三:贪婪/非贪婪特性
Mar 02 Python
对Python中DataFrame按照行遍历的方法
Apr 08 Python
使用实现pandas读取csv文件指定的前几行
Apr 20 Python
解决Python selenium get页面很慢时的问题
Jan 30 Python
PyQt4编程之让状态栏显示信息的方法
Jun 18 Python
Django框架model模型对象验证实现方法分析
Oct 02 Python
Python+OpenCV实现实时眼动追踪的示例代码
Nov 11 Python
Django自定义列表 models字段显示方式
Apr 03 Python
基于python纯函数实现井字棋游戏
May 27 Python
Django自定义YamlField实现过程解析
Nov 11 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
从零开始的异世界生活:第二季延期后,B站上架了第二部剧场版
2020/05/06 日漫
虹吸壶是谁发明的?煮出来的咖啡好喝吗
2021/03/04 冲泡冲煮
PHP 中执行排序与 MySQL 中排序
2009/04/21 PHP
php使用curl出现Expect:100-continue解决方法
2015/03/03 PHP
PHP程序员简单的开展服务治理架构操作详解(一)
2020/05/14 PHP
Javascript 类型转换方法
2010/10/24 Javascript
jquery自定义滚动条插件示例分享
2014/02/21 Javascript
简单方法判断JavaScript对象为null或者属性为空
2014/09/26 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
2016/11/07 Javascript
简单实现js悬浮导航效果
2017/02/05 Javascript
vue2.0实现分页组件的实例代码
2017/06/22 Javascript
浅谈vue单一组件下动态修改数据时的全部重渲染
2018/03/01 Javascript
vue超时计算的组件实例代码
2018/07/09 Javascript
详解vue-cli3多环境打包配置
2019/03/28 Javascript
JQuery样式操作、click事件以及索引值-选项卡应用示例
2019/05/14 jQuery
关于vue利用postcss-pxtorem进行移动端适配的问题
2019/11/20 Javascript
Vue实现商品飞入购物车效果(电商项目)
2019/11/26 Javascript
jQuery+ajax实现文件上传功能
2020/12/22 jQuery
python和C语言混合编程实例
2014/06/04 Python
python利用正则表达式搜索单词示例代码
2017/09/24 Python
Python使用pylab库实现绘制直方图功能示例
2018/06/01 Python
利用python list完成最简单的DB连接池方法
2019/08/09 Python
Python+PyQt5实现灭霸响指功能
2020/05/25 Python
python写文件时覆盖原来的实例方法
2020/07/22 Python
PyCharm+PyQt5+QtDesigner配置详解
2020/08/12 Python
HTML5 b和i标记将被赋予真正的语义
2009/07/16 HTML / CSS
ProForm英国站点:健身房和健身器材网上商店
2019/06/05 全球购物
幼儿园美术教学反思
2014/01/31 职场文书
简历的自我评价
2014/02/03 职场文书
2014校长四风问题对照检查材料思想汇报
2014/09/16 职场文书
2015年初中元旦晚会活动总结
2014/11/28 职场文书
酒店采购员岗位职责
2015/04/03 职场文书
离婚协议书范本(2016最新版)
2016/03/18 职场文书
python保存大型 .mat 数据文件报错超出 IO 限制的操作
2021/05/10 Python
AJAX学习笔记
2021/05/18 Javascript
python脚本框架webpy模板赋值实现
2021/11/20 Python