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使用自带的ConfigParser模块读写ini配置文件
Jun 26 Python
从零开始学Python第八周:详解网络编程基础(socket)
Dec 14 Python
python实现单线程多任务非阻塞TCP服务端
Jun 13 Python
centos6.4下python3.6.1安装教程
Jul 21 Python
python如何查看微信消息撤回
Nov 27 Python
对web.py设置favicon.ico的方法详解
Dec 04 Python
Python调用服务接口的实例
Jan 03 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
Aug 12 Python
python实现批量修改文件名
Mar 23 Python
超级实用的8个Python列表技巧
Aug 24 Python
python文件目录操作之os模块
May 08 Python
python基于turtle绘制几何图形
Jun 15 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加密解密函数(动态加密)
2013/06/19 PHP
怎样使用php与jquery设置和读取cookies
2013/08/08 PHP
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
2015/02/07 PHP
总结的一些PHP开发中的tips(必看篇)
2017/03/24 PHP
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
2009/06/04 Javascript
判定是否原生方法的JS代码
2013/11/12 Javascript
extjs 分页使用jsp传递数据示例
2014/07/29 Javascript
html的DOM中document对象forms集合用法实例
2015/01/21 Javascript
javascript操作Cookie(设置、读取、删除)方法详解
2015/03/18 Javascript
谈谈我对JavaScript中typeof和instanceof的深入理解
2015/12/25 Javascript
canvas绘制七巧板
2017/02/03 Javascript
requirejs + vue 项目搭建详解
2017/06/16 Javascript
详解微信小程序设置底部导航栏目方法
2017/06/29 Javascript
AngularJS实用基础知识_入门必备篇(推荐)
2017/07/10 Javascript
webpack vue项目开发环境局域网访问方法
2018/03/20 Javascript
深入浅析angular和vue还有jquery的区别
2018/08/13 jQuery
微信二次分享报错invalid signature问题及解决方法
2019/04/01 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
JS实现简单打字测试
2020/06/24 Javascript
Vue实现圆环进度条的示例
2021/02/06 Vue.js
[01:38:19]夜魇凡尔赛茶话会 第五期
2021/03/11 DOTA
Python根据区号生成手机号码的方法
2015/07/08 Python
详解 Python 读写XML文件的实例
2017/08/02 Python
python正则表达式去除两个特殊字符间的内容方法
2018/12/24 Python
Python如何绘制日历图和热力图
2020/08/07 Python
python 如何把docker-compose.yaml导入到数据库相关条目里
2021/01/15 Python
Ooni英国官网:披萨烤箱
2020/05/31 全球购物
经管应届生求职信
2013/11/17 职场文书
红旗方阵解说词
2014/02/12 职场文书
党员演讲稿
2014/09/04 职场文书
入党积极分子学习优秀共产党员先进事迹思想汇报
2014/09/13 职场文书
2015年银行柜员工作总结报告
2015/04/01 职场文书
祝福语集锦:送给闺蜜的生日祝福语
2019/10/08 职场文书
Django如何创作一个简单的最小程序
2021/05/12 Python
Win11安全功能升级:内置防网络钓鱼功能
2022/04/08 数码科技
Python闭包的定义和使用方法
2022/04/11 Python