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使用cookie库操保存cookie详解
Mar 03 Python
Python中正则表达式的详细教程
Apr 30 Python
Python多线程爬虫简单示例
Mar 04 Python
Python+django实现简单的文件上传
Aug 17 Python
在Linux命令行终端中使用python的简单方法(推荐)
Jan 23 Python
Python实现GUI学生信息管理系统
Apr 05 Python
python使用socket创建tcp服务器和客户端
Apr 12 Python
详解Python3.6安装psutil模块和功能简介
May 30 Python
python3实现往mysql中插入datetime类型的数据
Mar 02 Python
如何基于pandas读取csv后合并两个股票
Sep 25 Python
python关于倒排列的知识点总结
Oct 13 Python
Python办公自动化解决world文件批量转换
Sep 15 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中如何判断一个网页请求是ajax请求还是普通请求
2013/08/10 PHP
PHP Curl出现403错误的解决办法
2014/05/29 PHP
ThinkPHP的L方法使用简介
2014/06/18 PHP
ThinkPHP表单自动提交验证实例教程
2014/07/18 PHP
ThinkPHP中自定义目录结构的设置方法
2014/08/15 PHP
thinkphp数据查询和遍历数组实例
2014/11/28 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
2015/04/15 PHP
PHP+JS三级菜单联动菜单实现方法
2016/02/24 PHP
php使用pecl方式安装扩展操作示例
2019/08/12 PHP
laravel 实现根据字段不同值做不同查询
2019/10/23 PHP
prototype 1.5 &amp; scriptaculous 1.6.1 学习笔记
2006/09/07 Javascript
JavaScript 学习点滴记录
2009/04/24 Javascript
JavaScript动态创建div属性和样式示例代码
2013/10/09 Javascript
JS类的定义与使用方法深入探索
2016/11/26 Javascript
JavaScript纯色二维码变成彩色二维码
2020/07/23 Javascript
原JS实现banner图的常用功能
2017/06/12 Javascript
Vue2仿淘宝实现省市区三级联动
2020/04/15 Javascript
微信小程序实现时间进度条功能
2020/11/17 Javascript
vue实现移动端触屏拖拽功能
2020/08/21 Javascript
原生JavaScript实现留言板
2021/01/10 Javascript
python监控网站运行异常并发送邮件的方法
2015/03/13 Python
一篇文章入门Python生态系统(Python新手入门指导)
2015/12/11 Python
浅谈django model的get和filter方法的区别(必看篇)
2017/05/23 Python
Python OpenCV处理图像之滤镜和图像运算
2018/07/10 Python
python 解决print数组/矩阵无法完整输出的问题
2020/02/19 Python
python判断正负数方式
2020/06/03 Python
CSS3 二级导航菜单的制作的示例
2018/04/02 HTML / CSS
瑞典的玛丽小姐:Miss Mary of Sweden
2019/02/13 全球购物
Joseph官网:英国小众奢侈品牌
2019/05/17 全球购物
向全球直邮输送天然健康产品:iHerb.com
2020/05/03 全球购物
如何提高MySql的安全性
2014/06/19 面试题
我们没有写servlet的构造方法,那么容器是怎么创建servlet的实例呢
2013/04/24 面试题
教育学专业实习生的自我鉴定
2013/11/26 职场文书
离职感谢信
2015/01/21 职场文书
世界卫生日宣传活动总结
2015/02/09 职场文书
详解Mysql事务并发(脏读、不可重复读、幻读)
2022/04/29 MySQL