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循环监控远程端口的方法
Mar 14 Python
详细介绍Python中的偏函数
Apr 27 Python
python 中的divmod数字处理函数浅析
Oct 17 Python
python创建文件备份的脚本
Sep 11 Python
Python使用Selenium爬取淘宝异步加载的数据方法
Dec 17 Python
Python之循环结构
Jan 15 Python
Django处理Ajax发送的Get请求代码详解
Jul 29 Python
pygame实现打字游戏
Feb 19 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
Apr 22 Python
python 模拟登陆github的示例
Dec 04 Python
Python办公自动化之教你用Python批量识别发票并录入到Excel表格中
Jun 26 Python
分享几种python 变量合并方法
Mar 20 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生成图形(Libchart)实例
2013/11/06 PHP
PHP静态成员变量
2017/02/14 PHP
thinkPHP5框架中widget的功能与用法详解
2018/06/11 PHP
Javascript 中的类和闭包
2010/01/08 Javascript
通过百度地图获取公交线路的站点坐标的js代码
2012/05/11 Javascript
Javascript操作cookie的函数代码
2012/10/03 Javascript
jquery 模板的应用示例
2013/11/12 Javascript
jquery中get和post的简单实例
2014/02/04 Javascript
jQuery+ajax实现鼠标单击修改内容的方法
2014/06/27 Javascript
Jquery实现鼠标移动放大图片功能实例
2015/03/25 Javascript
jQuery实现弹出窗口中切换登录与注册表单
2015/06/05 Javascript
基于replaceChild制作简单的吞噬特效
2015/09/21 Javascript
使用jquery实现鼠标滑过弹出更多相关信息层附源码下载
2015/11/23 Javascript
JQuery对ASP.NET MVC数据进行更新删除
2016/07/13 Javascript
详解基于angular路由的requireJs按需加载js
2017/01/20 Javascript
让你彻底掌握es6 Promise的八段代码
2017/07/26 Javascript
基于node打包可执行文件工具_Pkg使用心得分享
2018/01/24 Javascript
微信小程序wepy框架笔记小结
2018/08/08 Javascript
详解Vue.js和layui日期控件冲突问题解决办法
2019/07/25 Javascript
vue-cli history模式实现tomcat部署报404的解决方式
2019/09/06 Javascript
在vue-cli3.0 中使用预处理器 (Sass/Less/Stylus) 配置全局变量操作
2020/08/10 Javascript
js实现石头剪刀布游戏
2020/10/11 Javascript
[05:15]2018年度CS GO社区贡献奖-完美盛典
2018/12/16 DOTA
Python线程指南详细介绍
2017/01/05 Python
Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例
2018/01/15 Python
PyCharm鼠标右键不显示Run unittest的解决方法
2018/11/30 Python
浅谈Scrapy网络爬虫框架的工作原理和数据采集
2019/02/07 Python
利用python中的matplotlib打印混淆矩阵实例
2020/06/16 Python
印尼旅游网站:via
2017/11/12 全球购物
必须要使用游标的SQL语句有那些
2012/05/07 面试题
2019史上最全Database工程师题库
2015/12/06 面试题
电子商务自荐书范文
2014/01/04 职场文书
运动会拉拉队口号
2014/06/09 职场文书
乔布斯辞职信(中英文对照)
2015/05/12 职场文书
Redis高可用集群redis-cluster详解
2022/03/20 Redis
关于CSS自定义属性与前端页面的主题切换问题
2022/03/21 HTML / CSS