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的Django框架中simple-todo工具的简单使用
May 30 Python
详解在Python的Django框架中创建模板库的方法
Jul 20 Python
Python环境下搭建属于自己的pip源的教程
May 05 Python
python 排序算法总结及实例详解
Sep 28 Python
Python实现数据库并行读取和写入实例
Jun 09 Python
selenium python浏览器多窗口处理代码示例
Jan 15 Python
详解python执行shell脚本创建用户及相关操作
Apr 11 Python
Python使用统计函数绘制简单图形实例代码
May 15 Python
Django框架 查询Extra功能实现解析
Sep 04 Python
python网络爬虫 CrawlSpider使用详解
Sep 27 Python
python连接打印机实现打印文档、图片、pdf文件等功能
Feb 07 Python
使用Puppeteer爬取微信文章的实现
Feb 11 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 无法载入mysql扩展
2010/03/12 PHP
解析mysql left( right ) join使用on与where筛选的差异
2013/06/18 PHP
PHP内置过滤器FILTER使用实例
2014/06/25 PHP
php数组索引与键值操作技巧实例分析
2015/06/24 PHP
Symfony2学习笔记之插件格式分析
2016/03/17 PHP
php array_pop 删除数组最后一个元素实例
2016/11/02 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
2019/05/09 PHP
autoIMG 基于jquery的图片自适应插件代码
2011/03/12 Javascript
让innerText在firefox火狐和IE浏览器都能用的写法
2011/05/14 Javascript
图片上传插件jquery.uploadify详解
2013/11/15 Javascript
基于JavaScript实现滑动门效果
2017/03/16 Javascript
使用react实现手机号的数据同步显示功能的示例代码
2018/04/03 Javascript
vue项目中使用Hbuilder打包app 设置沉浸式状态栏的方法
2018/10/22 Javascript
微信小程序本地存储实现每日签到、连续签到功能
2019/10/09 Javascript
vue radio单选框,获取当前项(每一项)的value值操作
2020/09/10 Javascript
Python实现对比不同字体中的同一字符的显示效果
2015/04/23 Python
python使用socket向客户端发送数据的方法
2015/04/29 Python
初步讲解Python中的元组概念
2015/05/21 Python
Python中easy_install 和 pip 的安装及使用
2017/06/05 Python
python抓取网页中链接的静态图片
2018/01/29 Python
python实现代码统计器
2019/09/19 Python
解决django后台管理界面添加中文内容乱码问题
2019/11/15 Python
python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例
2020/03/10 Python
Python3标准库之dbm UNIX键-值数据库问题
2020/03/24 Python
解决安装新版PyQt5、PyQT5-tool后打不开并Designer.exe提示no Qt platform plugin的问题
2020/04/24 Python
python使用Word2Vec进行情感分析解析
2020/07/31 Python
Python调用Redis的示例代码
2020/11/24 Python
Python爬虫入门教程02之笔趣阁小说爬取
2021/01/24 Python
佛罗里达州印第安河新鲜水果:Hale Groves
2017/02/20 全球购物
size?瑞典:英国伦敦的球鞋精品店
2018/03/01 全球购物
巴西本土电商平台:Americanas
2020/06/21 全球购物
捷科时代的软件测试笔试题
2015/11/09 面试题
物流专业毕业生推荐信范文
2013/11/18 职场文书
实习鉴定范文
2013/12/19 职场文书
应用化学专业职业生涯规划书
2013/12/31 职场文书
Java中CyclicBarrier和CountDownLatch的用法与区别
2021/08/23 Java/Android