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发送伪造的arp请求
Jan 09 Python
特征脸(Eigenface)理论基础之PCA主成分分析法
Mar 13 Python
python3解析库BeautifulSoup4的安装配置与基本用法
Jun 26 Python
Python中asyncio与aiohttp入门教程
Oct 16 Python
PyCharm配置mongo插件的方法
Nov 30 Python
只需7行Python代码玩转微信自动聊天
Jan 27 Python
Python同步遍历多个列表的示例
Feb 19 Python
python 3.7.4 安装 opencv的教程
Oct 10 Python
解析PyCharm Python运行权限问题
Jan 08 Python
Django使用Celery加redis执行异步任务的实例内容
Feb 20 Python
详解Python 实现 ZeroMQ 的三种基本工作模式
Mar 24 Python
Python telnet登陆功能实现代码
Apr 16 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
一个可以找出源代码中所有中文的工具
2006/10/25 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
2013/06/21 PHP
thinkphp5.0自定义验证规则使用方法
2017/11/16 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
YII框架页面缓存操作示例
2019/04/29 PHP
PHP常用函数之base64图片上传功能详解
2019/10/21 PHP
抽出www.templatemonster.com的鼠标悬停加载大图模板的代码
2007/07/11 Javascript
以JSON形式将JS中Array对象数组传至后台的方法
2014/01/06 Javascript
jQuery - css() 方法示例详解
2014/01/16 Javascript
在javascript中如何得到中英文混合字符串的长度
2014/01/17 Javascript
Node.js中的process.nextTick使用实例
2015/06/25 Javascript
小议JavaScript中Generator和Iterator的使用
2015/07/29 Javascript
Web前端新人笔记之jquery入门心得(新手必看)
2016/05/17 Javascript
AngularJS国际化详解及示例代码
2016/08/18 Javascript
详解Angular-Cli中引用第三方库
2017/05/21 Javascript
JavaScript使用math.js进行精确计算操作示例
2018/06/19 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
移动端(微信等使用vConsole调试console的方法
2019/03/05 Javascript
Vue项目路由刷新的实现代码
2019/04/17 Javascript
微信小程序如何访问公众号文章
2019/07/08 Javascript
python实现排序算法
2014/02/14 Python
Python selenium如何设置等待时间
2016/09/15 Python
Python中的id()函数指的什么
2017/10/17 Python
Python使用PIL模块生成随机验证码
2017/11/21 Python
python通过链接抓取网站详解
2019/11/20 Python
利用python实现冒泡排序算法实例代码
2019/12/01 Python
tensorflow 变长序列存储实例
2020/01/20 Python
python with (as)语句实例详解
2020/02/04 Python
python解释器安装教程的方法步骤
2020/07/02 Python
德国婴儿服装和婴儿用品购买网站:Baby Sweets
2019/12/08 全球购物
投资意向书范本
2014/04/01 职场文书
《富饶的西沙群岛》教学反思
2014/04/09 职场文书
寄语学生的话
2014/04/10 职场文书
影子教师研修方案
2014/06/14 职场文书
新党章的学习心得体会
2014/11/07 职场文书
CSS3 实现的图片悬停的切换按钮
2021/04/13 HTML / CSS