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 相关文章推荐
python的绘图工具matplotlib使用实例
Jul 03 Python
Python入门篇之面向对象
Oct 20 Python
简单介绍Python的轻便web框架Bottle
Apr 08 Python
python下调用pytesseract识别某网站验证码的实现方法
Jun 06 Python
详解python脚本自动生成需要文件实例代码
Feb 04 Python
python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法
Oct 21 Python
Python实现的批量修改文件后缀名操作示例
Dec 07 Python
解决Python安装时报缺少DLL问题【两种解决方法】
Jul 15 Python
Django异步任务线程池实现原理
Dec 17 Python
Python使用docx模块实现刷题功能代码
Feb 13 Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
Jun 11 Python
Python 3.9的到来到底是意味着什么
Oct 14 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
使用PHP下载CSS文件中的图片的代码
2013/09/24 PHP
php ci框架中加载css和js文件失败的解决方法
2014/03/03 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
2014/05/10 PHP
浅谈PHP无限极分类原理
2019/03/14 PHP
js 函数的副作用分析
2011/08/23 Javascript
JavaScript面向对象(极简主义法minimalist approach)
2012/07/17 Javascript
js将iframe中控件的值传到主页面控件中的实现方法
2013/03/11 Javascript
今天是星期几的4种JS代码写法
2013/09/17 Javascript
jQuery动态效果显示人物结构关系图的方法
2015/05/07 Javascript
jQuery实现表单步骤流程导航代码分享
2015/08/28 Javascript
轻松学习jQuery插件EasyUI EasyUI表单验证
2015/12/01 Javascript
判断是否存在子节点的实现代码
2016/05/18 Javascript
快速掌握jQuery插件开发
2017/01/19 Javascript
pm2 部署 node的三种方法示例
2017/10/20 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
2018/09/16 Javascript
小程序跳转H5页面的方法步骤
2020/03/06 Javascript
纯js+css实现在线时钟
2020/08/18 Javascript
从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
2014/05/23 Python
基于Python Shell获取hostname和fqdn释疑
2016/01/25 Python
Anaconda之conda常用命令介绍(安装、更新、删除)
2019/10/06 Python
python3中pip3安装出错,找不到SSL的解决方式
2019/12/12 Python
Tensorflow进行多维矩阵的拆分与拼接实例
2020/02/07 Python
Python自带的IDE在哪里
2020/07/01 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
2020/07/02 Python
python编写扎金花小程序的实例代码
2021/02/23 Python
让IE6支持css3,让 IE7、IE8 都支持CSS3
2011/10/09 HTML / CSS
css3强大的动画效果animate使用说明及浏览器兼容介绍
2013/01/09 HTML / CSS
澳大利亚宠物食品和药物在线:Jumbo Pets
2018/03/24 全球购物
英国户外装备商店:Ultimate Outdoors
2019/05/07 全球购物
shell的种类有哪些
2015/04/15 面试题
统计学教授推荐信
2014/09/18 职场文书
银行业务授权委托书
2014/10/10 职场文书
立项申请报告范本
2015/05/15 职场文书
罗马假日观后感
2015/06/08 职场文书
歌咏比赛主持词
2015/06/29 职场文书
phpQuery解析HTML乱码问题(补充官网未列出的乱码解决方案)
2021/04/01 PHP