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编程中归并排序算法的实现步骤详解
May 04 Python
SQLite3中文编码 Python的实现
Jan 11 Python
Python 基础教程之闭包的使用方法
Sep 29 Python
Python学生成绩管理系统简洁版
Apr 05 Python
Python实现在tkinter中使用matplotlib绘制图形的方法示例
Jan 18 Python
Python中生成器和迭代器的区别详解
Feb 10 Python
python中plot实现即时数据动态显示方法
Jun 22 Python
python将回车作为输入内容的实例
Jun 23 Python
python2使用bs4爬取腾讯社招过程解析
Aug 14 Python
python numpy中cumsum的用法详解
Oct 17 Python
在tensorflow下利用plt画论文中loss,acc等曲线图实例
Jun 15 Python
BeautifulSoup中find和find_all的使用详解
Dec 07 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
用session做客户验证时的注意事项
2006/10/09 PHP
javascript 函数使用说明
2010/04/07 Javascript
Node.js生成HttpStatusCode辅助类发布到npm
2013/04/09 Javascript
javascript对JSON数据排序的3个例子
2014/04/12 Javascript
jquery实现简单的无缝滚动
2015/04/15 Javascript
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
2015/08/26 Javascript
AngularJS基础 ng-mouseleave 指令详解
2016/08/02 Javascript
chrome浏览器如何断点调试异步加载的JS
2016/09/05 Javascript
WEB开发之注册页面验证码倒计时代码的实现
2016/12/15 Javascript
微信小程序 新建登录页并实现tabBar隐藏
2017/06/13 Javascript
NodeJs中express框架的send()方法简介
2017/06/20 NodeJs
鼠标拖动改变DIV等网页元素的大小的实现方法
2017/07/06 Javascript
ReactJS实现表单的单选多选和反选的示例
2017/10/13 Javascript
vue2导航根据路由传值,而改变导航内容的实例
2017/11/10 Javascript
Vue.js递归组件构建树形菜单
2017/12/24 Javascript
vue 使用vue-i18n做全局中英文切换的方法
2018/10/29 Javascript
vue单页面在微信下只能分享落地页的解决方案
2019/04/15 Javascript
使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题
2019/05/14 Javascript
微信小程序云开发(数据库)详解
2019/05/17 Javascript
AntV F2和vue-cli构建移动端可视化视图过程详解
2019/10/08 Javascript
[56:00]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第一局
2016/03/05 DOTA
python中去空格函数的用法
2014/08/21 Python
Python 3.8中实现functools.cached_property功能
2019/05/29 Python
Python使用re模块验证危险字符
2020/05/21 Python
Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
2020/07/07 Python
html5 sessionStorage会话存储_动力节点Java学院整理
2017/07/06 HTML / CSS
大学生自荐信
2013/12/11 职场文书
初中化学教学反思
2014/01/23 职场文书
借款担保书范文
2014/05/13 职场文书
学习“七一”讲话精神体会
2014/07/08 职场文书
趵突泉导游词
2015/02/03 职场文书
督导岗位职责
2015/02/04 职场文书
2015年事业单位办公室文员工作总结
2015/04/24 职场文书
幼儿园开学家长寄语(2016春季)
2015/12/03 职场文书
使用canvas对video视频某一刻截图功能
2021/09/25 HTML / CSS