python 生成器生成杨辉三角的方法(必看)


Posted in Python onApril 10, 2017

用Python写趣味程序感觉??诺模?2幌吕?/p>

#生成器生成展示杨辉三角
#原理是在一个2维数组里展示杨辉三角,空的地方用0,输出时,转化为' '
def yang(line):
  n,leng=0,2*line - 1
  f_list = list(range(leng+2)) #预先分配,insert初始胡会拖慢速度,最底下一行,左右也有1个空格
  #全部初始化为0
  for i,v in enumerate(f_list):
    f_list[v] = 0
  ZEROLIST = f_list[:] #预留一个全零的数组
  f_list[leng//2] = 1 #初始的第一行
  re_list =f_list[:]
  n=0
  while n < line:
    n = n+1
    yield re_list
    f_list,re_list = re_list[:],ZEROLIST[:]
    start = leng//2-n #计算一行中第一个1的位置
    end = start + 2*n #计算一行中最后一个1的位置
    while start <= end:
      re_list[start] = f_list[start - 1] + f_list[start+1] #不管是不是1,该位置的数字,都是上一行该位置的左右两个数的和
      start = start + 1
  return 'done'

def printList(L):
  n = 0
  p_str = ''
  for value in L:
    ch = str(value)
    if value == 0:
      ch = ' '
    p_str = p_str + ch
  print(p_str)

for value in yang(8):
  printList(value)

以上这篇python 生成器生成杨辉三角的方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Django中实现点击图片链接强制直接下载的方法
May 14 Python
Python判断字符串与大小写转换
Jun 08 Python
Python基于select实现的socket服务器
Apr 13 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
Dec 18 Python
windows下安装Python虚拟环境virtualenvwrapper-win
Jun 14 Python
Python 多线程,threading模块,创建子线程的两种方式示例
Sep 29 Python
python自动结束mysql慢查询会话的实例代码
Oct 27 Python
pytorch GAN生成对抗网络实例
Jan 10 Python
python文件和文件夹复制函数
Feb 07 Python
深入了解python列表(LIST)
Jun 08 Python
Python Selenium实现无可视化界面过程解析
Aug 25 Python
python的数学算法函数及公式用法
Nov 18 Python
Python贪吃蛇游戏编写代码
Oct 26 #Python
OpenCV实现人脸识别
Apr 07 #Python
python使用opencv进行人脸识别
Apr 07 #Python
Python 实现链表实例代码
Apr 07 #Python
python中如何使用朴素贝叶斯算法
Apr 06 #Python
python获取当前运行函数名称的方法实例代码
Apr 06 #Python
python爬取w3shcool的JQuery课程并且保存到本地
Apr 06 #Python
You might like
php5 apache 2.2 webservice 创建与配置(java)
2011/01/27 PHP
php获取数组中重复数据的两种方法
2013/06/28 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
php如何实现数据库的备份和恢复
2020/11/30 PHP
HTTP头隐藏PHP版本号实现过程解析
2020/12/09 PHP
JQuery中根据属性或属性值获得元素(6种情况获取方法)
2013/01/17 Javascript
js判断IE浏览器版本过低示例代码
2013/11/22 Javascript
angularJS 中$scope方法使用指南
2015/02/09 Javascript
javascript简单实现类似QQ头像弹出效果的方法
2015/08/03 Javascript
基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍
2016/05/12 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
微信小程序左右滑动切换页面详解及实例代码
2017/02/28 Javascript
JavaScrpt判断一个数是否是质数的实例代码
2017/06/11 Javascript
jQuery自定义多选下拉框效果
2017/06/19 jQuery
ionic3+Angular4实现接口请求及本地json文件读取示例
2017/10/11 Javascript
解决layui前端框架 form表单,table表等内置控件不显示的问题
2018/08/19 Javascript
vue实现简单的登录弹出框
2020/10/26 Javascript
Vue仿Bibibili首页的问题
2021/01/21 Vue.js
[02:47]DOTA2英雄基础教程 野性怒吼兽王
2013/12/05 DOTA
python实现sublime3的less编译插件示例
2014/04/27 Python
python2.7无法使用pip的解决方法(安装easy_install)
2018/04/03 Python
Python实现的计算马氏距离算法示例
2018/04/03 Python
django ObjectDoesNotExist 和 DoesNotExist的用法
2020/07/09 Python
如何快速理解python的垃圾回收机制
2020/09/01 Python
python空元组在all中返回结果详解
2020/12/15 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
2021/03/04 Python
Shopping happy life西班牙:以最优惠的价格提供最好的时尚配饰
2020/03/13 全球购物
网络工程师的自我评价
2013/10/02 职场文书
会计电算化个人自我评价
2013/11/17 职场文书
大专学生求职信
2014/07/04 职场文书
应届大学生求职信
2014/07/20 职场文书
认错检讨书
2014/10/02 职场文书
2014年学校后勤工作总结
2014/12/06 职场文书
员工评语范文
2014/12/31 职场文书
写作之关于描写老人的好段摘抄
2019/11/14 职场文书
Python下载商品数据并连接数据库且保存数据
2022/03/31 Python