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字符遍历的艺术
Sep 06 Python
详解Python验证码识别
Jan 25 Python
python处理html转义字符的方法详解
Jul 01 Python
利用Python如何批量修改数据库执行Sql文件
Jul 29 Python
Django model反向关联名称的方法
Dec 15 Python
Python爬虫beautifulsoup4常用的解析方法总结
Feb 25 Python
python3 小数位的四舍五入(用两种方法解决round 遇5不进)
Apr 11 Python
快速解决docker-py api版本不兼容的问题
Aug 30 Python
详解python itertools功能
Feb 07 Python
浅谈django 模型类使用save()方法的好处与注意事项
Mar 28 Python
基于python连接oracle导并出数据文件
Apr 28 Python
基于Python快速处理PDF表格数据
Jun 03 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
模拟OICQ的实现思路和核心程序(一)
2006/10/09 PHP
PHP基础陷阱题(变量赋值)
2012/09/12 PHP
PHP生成数组再传给js的方法
2014/08/07 PHP
WordPress免插件实现面包屑导航的示例代码
2020/08/20 PHP
JS获取IUSR_机器名和IWAM_机器名帐号的密码
2006/12/06 Javascript
JS的递增/递减运算符和带操作的赋值运算符的等价式
2007/12/08 Javascript
JavaScript性能优化 创建文档碎片(document.createDocumentFragment)
2010/07/13 Javascript
js和jquery设置disabled属性为true使按钮失效
2014/08/07 Javascript
JavaScript使用循环和分割来替换和删除元素实例
2014/10/13 Javascript
jquery简单倒计时实现方法
2015/12/18 Javascript
jQuery插件EasyUI实现Layout框架页面中弹出窗体到最顶层效果(穿越iframe)
2016/08/05 Javascript
详解js中Number()、parseInt()和parseFloat()的区别
2016/12/20 Javascript
angular.extend方法的具体使用
2017/09/14 Javascript
Webpack中loader打包各种文件的方法实例
2019/09/03 Javascript
axios 实现post请求时把对象obj数据转为formdata
2019/10/31 Javascript
Vue 监听元素前后变化值实例
2020/07/29 Javascript
javascript实现简易计算器功能
2020/09/23 Javascript
vue3.0中使用element的完整步骤
2021/03/04 Vue.js
Python获取单个程序CPU使用情况趋势图
2015/03/10 Python
Python中编写ORM框架的入门指引
2015/04/29 Python
celery4+django2定时任务的实现代码
2018/12/23 Python
python 一个figure上显示多个图像的实例
2019/07/08 Python
pandas factorize实现将字符串特征转化为数字特征
2019/12/19 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
Python使用循环神经网络解决文本分类问题的方法详解
2020/01/16 Python
任意存:BOXFUL
2018/05/21 全球购物
澳大利亚个性化儿童礼品网站:Bright Star Kids
2019/06/14 全球购物
施华洛世奇匈牙利官网:SWAROVSKI匈牙利
2019/07/06 全球购物
乌克兰的第一家手表店:Deka
2020/03/05 全球购物
小加工厂管理制度
2014/01/21 职场文书
旅游市场营销方案
2014/03/09 职场文书
2014年学习全国道德模范事迹思想汇报
2014/09/15 职场文书
防溺水安全教育主题班会
2015/08/12 职场文书
写好求职信的技巧解密
2019/05/14 职场文书
话题作文之自信作文
2019/11/15 职场文书
CSS的class与id常用的命名规则
2021/05/18 HTML / CSS