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之再深点,更懂list
Sep 20 Python
Python输出由1,2,3,4组成的互不相同且无重复的三位数
Feb 01 Python
Python实现的FTP通信客户端与服务器端功能示例
Mar 28 Python
Python列表(List)知识点总结
Feb 18 Python
python3发送邮件需要经过代理服务器的示例代码
Jul 25 Python
Flask框架模板继承实现方法分析
Jul 31 Python
python利用tkinter实现图片格式转换的示例
Sep 28 Python
如何在pycharm中安装第三方包
Oct 27 Python
Spy++的使用方法及下载教程
Jan 29 Python
写好Python代码的几条重要技巧
May 21 Python
pytorch通过训练结果的复现设置随机种子
Jun 01 Python
python 实现图片特效处理
Apr 03 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 jq jquery getJSON跨域提交数据完整版
2013/09/13 PHP
ci检测是ajax还是页面post提交数据的方法
2014/11/10 PHP
学习JS面向对象成果 借国庆发布个最新作品与大家交流
2009/10/03 Javascript
jQuery基础知识filter()和find()实例说明
2010/07/06 Javascript
读jQuery之十 事件模块概述
2011/06/27 Javascript
修改js Calendar日历控件 兼容IE9/谷歌/火狐
2013/01/04 Javascript
js 获取radio按钮值的实例
2013/08/17 Javascript
jqGrid随窗口大小变化自适应大小的示例代码
2013/12/28 Javascript
每天一篇javascript学习小结(面向对象编程)
2015/11/20 Javascript
详解Bootstrap按钮
2016/01/04 Javascript
KnockoutJS 3.X API 第四章之事件event绑定
2016/10/10 Javascript
vue-cli实现多页面多路由的示例代码
2018/01/30 Javascript
NW.js 简介与使用方法
2018/02/01 Javascript
微信小程序实现顶部下拉菜单栏
2018/11/04 Javascript
原生js实现照片墙效果
2020/10/13 Javascript
[03:47]2015国际邀请赛第三日现场精彩回顾
2015/08/08 DOTA
简单谈谈Python中的元祖(Tuple)和字典(Dict)
2017/04/21 Python
python嵌套字典比较值与取值的实现示例
2017/11/03 Python
Python3中的列表生成式、生成器与迭代器实例详解
2018/06/11 Python
Python爬虫如何应对Cloudflare邮箱加密
2020/06/24 Python
Python中对象的比较操作==和is区别详析
2021/02/12 Python
CSS3提交意见输入框样式代码
2014/10/30 HTML / CSS
html5默认气泡修改的代码详解
2020/03/13 HTML / CSS
AE美国鹰日本官方网站: American Eagle Outfitters
2016/12/10 全球购物
怎么写好自荐信
2013/10/30 职场文书
数学检讨书1000字
2014/02/24 职场文书
小学教师自我鉴定范文
2014/03/20 职场文书
公司党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
局领导领导班子四风对照检查材料
2014/09/27 职场文书
初二学生评语大全
2014/12/26 职场文书
高中生个性发展自我评价
2015/03/09 职场文书
2015年生产车间工作总结
2015/04/22 职场文书
2015年化妆品销售工作总结
2015/05/11 职场文书
浅谈JS的原型和原型链
2021/06/04 Javascript
Vue3.0写自定义指令的简单步骤记录
2021/06/27 Vue.js
mysql 子查询的使用
2022/04/28 MySQL