用Python输出一个杨辉三角的例子
这篇文章主要介绍了用Python和erlang输出一个杨辉三角的例子,同时还提供了一个erlang版杨辉三角,需要的朋友可以参考下
关于杨辉三角是什么东西,右转维基百科:杨辉三角
稍微看一下直观一点的图:
![用Python输出一个杨辉三角的例子](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
杨辉三角有以下几个特点:
每一项的值等于他左上角的数和右上角的数的和,如果左上角或者右上角没有数字,就按0计算。
第N层项数总比N-1层多1个
计算第N层的杨辉三角,必须知道N-1层的数字,然后将相邻2项的数字相加,就能得到下一层除了最边上2个1的所有数字。 听起来有点像递归的思想,我们不妨假设我们已经知道N-1层的数字,来计算一下N层的数字吧。
def _yanghui_trangle(n, result):
上面代码中,result表示N-1层杨辉三角的数字。实习上,我们在列表2端各补了一个0,然后计算相邻项的和,就可以直接得到结果。
稍微完善一下代码:
def yanghui_trangle(n):
if __name__ == "__main__":
_yanghui_trangle可以用lambda的方式简写,但是可读性感觉会变差,所以还是保持现状好了。
tips: 上面的程序并没有考虑数据格式化的问题,也就是说输出不是完美的三角形。
鉴于最近在学习erlang,补上一个erlang版本的,性能上没有测试过,不过还是要惊叹于函数式语言的表达能力:
-module(yanghui).
-author(lfyzjck).
-export([triangle/1]).
triangle_next(P)
->
triangle(1) ->
triangle(N) ->
相关文章
- python 基尼系数_Python计算
- Python中的输出「建议收藏」
- 【Python】python文件打开方式详解——a、a+、r+、w+、rb、rt区别[通俗易懂]
- python 多线程测试_【Python】多线程网站死链检测工具
- Python抓取数据_python抓取游戏数据
- 【说站】python双向链表的概念介绍
- 【说站】python列表有几种切片形式
- 【测试开发】python系列教程:第一个Python程序
- python输出unicode编码_python gbk codec
- 【基础知识】为python部署第三方库(设备可联网版)
- 在python中用来安装第三方库的常用工具_什么库用于安装管理Python扩展包
- 使用Python和OCR进行文档解析的完整代码演示
- Karton:基于Python、Redis和MinIO实现的分布式恶意软件处理框架
- 下列python语句的输出结果是print_下列 Python语句的输出结果是「建议收藏」
- Python基础-7 输入与输出
- Ubuntu18.04 一键升级Python所有第三方包 及安装python包的方法
- 学习Python精通SQL Server操作技巧(python操作sqlserver)
- 在Linux上搭建Python开发环境(linux搭建python环境)
- Python PyInstaller安装和使用教程(详解版)
- Linux环境下安装Python(linux装python)
- Linux升级:升级Python到最新版本(linux升级python版本)
- Linux下的Python开发技术之旅(linux下python开发)
- python输出一个两行字符的变量
- Python单例模式实例分析