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中字典创建、遍历、添加等实用操作技巧合集
Jun 02 Python
python类中super()和__init__()的区别
Oct 18 Python
python之PyMongo使用总结
May 26 Python
Python多进程并发与多线程并发编程实例总结
Feb 08 Python
Python实现爬虫从网络上下载文档的实例代码
Jun 13 Python
Python中的异常处理try/except/finally/raise用法分析
Feb 28 Python
python使用adbapi实现MySQL数据库的异步存储
Mar 19 Python
Python谱减法语音降噪实例
Dec 18 Python
python计算二维矩形IOU实例
Jan 18 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
Mar 12 Python
python 调用Google翻译接口的方法
Dec 09 Python
python实现MD5进行文件去重的示例代码
Jul 09 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
详解WordPress中添加和执行动作的函数使用方法
2015/12/29 PHP
PHP闭包函数详解
2016/02/13 PHP
thinkPHP自动验证机制详解
2016/12/05 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
2017/09/30 PHP
PHP代码覆盖率统计详解
2020/07/22 PHP
javascript基础之查找元素的详细介绍(访问节点)
2013/07/05 Javascript
用javascript删除当前行,添加行(示例代码)
2013/11/25 Javascript
js中function()使用方法
2013/12/24 Javascript
JS版元素周期表实现方法
2015/08/05 Javascript
js实现仿京东2级菜单效果(带延时功能)
2015/08/27 Javascript
jQuery动态改变多行文本框高度的方法
2016/09/07 Javascript
el表达式 写入bootstrap表格数据页面的实例代码
2017/01/11 Javascript
vue+node+webpack环境搭建教程
2017/11/05 Javascript
vue-cli启动本地服务局域网不能访问的原因分析
2018/01/22 Javascript
vux uploader 图片上传组件的安装使用方法
2018/05/15 Javascript
使用Node搭建reactSSR服务端渲染架构
2018/08/30 Javascript
js+springMVC 提交数组数据到后台的实例
2019/09/21 Javascript
vue中注册自定义的全局js方法
2019/11/15 Javascript
js实现表格单列按字母排序
2020/08/12 Javascript
[03:42]2018完美盛典-《加冕》
2018/12/16 DOTA
Python高斯消除矩阵
2019/01/02 Python
python正则-re的用法详解
2019/07/28 Python
安装2019Pycharm最新版本的教程详解
2019/10/22 Python
pytorch下使用LSTM神经网络写诗实例
2020/01/14 Python
浅谈python锁与死锁问题
2020/08/14 Python
HTML5之SVG 2D入门4—笔画与填充
2013/01/30 HTML / CSS
学校教师读书活动总结
2014/07/08 职场文书
故意伤害人身损害赔偿协议书
2014/11/19 职场文书
费用申请报告范文
2015/05/15 职场文书
刑事附带民事诉讼答辩状
2015/05/22 职场文书
大学同学聚会感言
2015/07/30 职场文书
运动会广播稿100字
2015/08/19 职场文书
开网店计划分析
2019/07/30 职场文书
Redis源码阅读:Redis字符串SDS详解
2021/07/15 Redis
详细聊聊vue中组件的props属性
2021/11/02 Vue.js
mysql中关键词exists的用法实例详解
2022/06/10 MySQL