使用python生成杨辉三角形的示例代码


Posted in Python onAugust 29, 2018

杨辉三角杨辉 定义如下:

1
    / \
    1  1
   / \ / \
   1  2  1
  / \ / \ / \
  1  3  3  1
 / \ / \ / \ / \
 1  4  6  4  1
 / \ / \ / \ / \ / \
1  5  10 10 5  1

把每一行看做一个list,试写一个generator,不断输出下一行的list:

def triangles():
  L = [1]
  while True:
    yield L
    
    M=L[:]#复制一个list,这样才不会影响到原有的list。不然results里的每个列表的末尾会为0.
    M.append(0)
    L = [M[i-1]+M[i] for i in range(len(M))] 
    
n =0
results = []
for t in triangles():
  
  print(t)
  results.append(t)
  print(results)
  n = n +1
  if n == 10:
    break

ps:如何实现心

def printlove(start,length,midnumber=0,flag=31):
  for i in range(31):
    if i<start or i>start+length-1 and i<15-(midnumber-1)/2 or i>15+(midnumber-1)/2 and i<31-start-length or i> 30-start or i==flag:
      print " ",
    else:
      print "*",
  print ""
for i in range(16):
  if i ==0:
      printlove(4,3)
  elif i==1:
      printlove(1,9)
  elif i>=2 and i<=5:
      printlove(0,i+10)
  elif i==6:
      printlove(1,7,7,15)
  elif i>=7 and i<=8:
      printlove(i-5,6,5-(i-7)*2)
  elif i==9:
      printlove(5,6,1)
  elif i==10:
      printlove(8,6,1)
  elif i==15:
      printlove(15,1,1)
  else:
      printlove(i-1,16-i,1)

实现的效果如下:

使用python生成杨辉三角形的示例代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python中使用HTML模版的教程
Apr 29 Python
Python运算符重载用法实例分析
Jun 01 Python
python妙用之编码的转换详解
Apr 21 Python
python如何实现内容写在图片上
Mar 23 Python
pandas 实现将重复表格去重,并重新转换为表格的方法
Apr 18 Python
Python拼接微信好友头像大图的实现方法
Aug 01 Python
Django中使用Whoosh进行全文检索的方法
Mar 31 Python
Flask框架模板渲染操作简单示例
Jul 31 Python
在Keras中实现保存和加载权重及模型结构
Jun 15 Python
详解Python3 定义一个跨越多行的字符串的多种方法
Sep 06 Python
Python3.9新特性详解
Oct 10 Python
python爬虫用scrapy获取影片的实例分析
Nov 23 Python
Python实现查询某个目录下修改时间最新的文件示例
Aug 29 #Python
有关Python的22个编程技巧
Aug 29 #Python
Python实现多线程的两种方式分析
Aug 29 #Python
Python运维自动化之nginx配置文件对比操作示例
Aug 29 #Python
python单例模式实例解析
Aug 28 #Python
Python3.7实现中控考勤机自动连接
Aug 28 #Python
python实现遍历文件夹修改文件后缀
Aug 28 #Python
You might like
用PHP 4.2书写安全的脚本
2006/10/09 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
2014/08/15 PHP
PHP安全上传图片的方法
2015/03/21 PHP
PHP6连接SQLServer2005的三部曲
2016/04/15 PHP
js右键菜单效果代码
2007/07/21 Javascript
FusionCharts图表显示双Y轴双(多)曲线
2012/11/22 Javascript
jquery获取div宽度的实现思路与代码
2013/01/13 Javascript
解读JavaScript中 For, While与递归的用法
2013/05/07 Javascript
通过隐藏iframe实现文件下载的js方法介绍
2014/02/26 Javascript
js中confirm实现执行操作前弹出确认框的方法
2014/11/01 Javascript
浅谈javascript属性onresize
2015/04/20 Javascript
JS延时提示框实现方法详解
2015/11/26 Javascript
浅析JS异步加载进度条
2016/05/05 Javascript
jQuery根据表单name获取值的方法
2016/05/24 Javascript
最佳的JavaScript错误处理实践
2016/07/16 Javascript
纯JS打造网页中checkbox和radio的美化效果
2016/10/13 Javascript
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
2017/08/21 Javascript
vue学习笔记之v-if和v-show的区别
2017/09/20 Javascript
JS代码检查工具ESLint介绍与使用方法
2020/02/04 Javascript
JQuery插件tablesorter表格排序实现过程解析
2020/05/28 jQuery
Angular8 简单表单验证的实现示例
2020/06/03 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
2021/01/12 Vue.js
基础的十进制按位运算总结与在Python中的计算示例
2016/06/28 Python
Python 数据结构之旋转链表
2017/02/25 Python
python多进程实现进程间通信实例
2017/11/24 Python
Python实现随机漫步功能
2018/07/09 Python
win7下python3.6安装配置方法图文教程
2018/07/31 Python
Pycharm设置去除显示的波浪线方法
2018/10/28 Python
keras load model时出现Missing Layer错误的解决方式
2020/06/11 Python
详解Python直接赋值,深拷贝和浅拷贝
2020/07/09 Python
浏览器实现移动端高性能css3动画(开启gpu加速)
2013/12/23 HTML / CSS
师范生自荐信
2013/10/27 职场文书
环境日宣传活动总结
2014/07/09 职场文书
2014年教研员工作总结
2014/12/23 职场文书
幼儿园圣诞节活动总结
2015/05/06 职场文书
数学备课组工作总结
2015/08/12 职场文书