python打印杨辉三角形

杨辉三角形,这个在国外被叫做帕斯卡三角形,中华文明为何立于世界之颠,这个就是最好的证明,古人的杨辉至少是这个帕斯卡的鼻祖辈,比帕某早了393年发现,那时候可没有知识产权概率,不然就是妥妥的侵权,不比外国人,我们对知识分享是无私贡献的。

既然用代码解决数学问题,那就得先分析问题:

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

要生成杨辉三角,肯定需要用到双层for循环,用i表示行数,用j表示列数。用""arraylist[i][j]""表示每一个数的具体位置

上代码:

def A(n): 

        list a=[] #定义一个存放数据的空数组,最后把这个数据返回

        for i in range(n):   #n表示要生成我多少层,i是当前层

                b=[]

              #定一个临时存放当前行的数组,每次循环都会被清空,当然清空前会存放进a[]里,

                 for j in range(i+1): #因为range()是从0开始算的

                        if j==0 or j==i:

                                b.append(1)

# 因为杨辉三角两边都是1,所以当它是第一个或是最后一个的时候都是1,所以搬运设置成1

                       else:#非第一个跟最后一个的情况下,进入这里

                                 b.append(a[i-1][j-1]+a[i-1][j])

# a[i-1][j-1]+a[i-1][j] 举例子说,此时我们要打印的是3行而已,那么当最外层的i==2时,那么第二层的range(i+1)就是range(3).那么j循环的值就只有0,1,2,没有3。去掉头尾0,2,那么只有1进入到else里,那么当前值就会是上一行的前一个值与上一行的当前值相加,符合在「杨辉三角」中,每个数是它左上方和右上方的数的和这个要求                               

                   a.append(b)#跳出j循环,把临时数组加到数组a上面

            return a #到这里只是返回了杨辉三角的数组,我们还需要这些数据进打印,请看B(n)。

def B(n):

        for i in A(n):

                print(‘’.join(str(i)).center(2*n+50))  #l转成字条串居中显示

n = int(input("请输入层级:"))

B(n)  #打印结果 

                

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/797537.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaEE 初阶篇-深入了解线程池(线程池创建、线程池如何处理任务)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 线程池概述 1.1 线程池的优点 1.2 不使用线程池的问题 1.3 线程池的工作原理图 1.4 如何创建线程池? 2.0 通过 ThreadPoolExecutor 类自定义创建线程…

撸代码时,有哪些习惯一定要坚持?

我从2011年开始做单片机开发,一直保持以下撸代码的习惯。 1.做好代码版本管理 有些人,喜欢一个程序干到底,直到实现全部的产品功能,我以前做51单片机的项目就是这样。 如果功能比较多的产品,我不建议这样做&#xff0…

如何搭建APP分发平台分发平台搭建教程

搭建一个APP分发平台可以帮助开发者更好地分发和管理他们的应用程序。下面是一个简要的教程,介绍如何搭建一个APP分发平台。 1.确定需求和功能:首先,确定你的APP分发平台的需求和功能。考虑以下几个方面: 用户注册和登录&#xff…

Anritsu MS9740B与MS9740A 光谱分析仪 的区别?

MS9740B与MS9740A的主要区别在于测量处理时间的缩短和对高速信号处理技术的应用。MS9740B在保持原有功能和性能的同时,将测量处理时间缩短了一半。这一点通过提高生产效率和减少测量及检查时间来实现,从而提高了光有源设备制造商的生产力。此外&#xff…

mid转MP3怎么转?一分钟搞定~

MIDI(Musical Instrument Digital Interface)文件格式的诞生可以追溯到上世纪80年代,音频技术迅速崛起。为了让不同音乐设备之间能够互相通信,MIDI格式成为了音乐的标准。它不同于常见的音频文件格式,不包含实际的声音…

浮点数在内存中的存储【详解】

浮点数在内存中的存储 浮点数存储规则小数点后数值的二进制转换float和double存储图示优化存储方案E不全为0或不全为1E全为0E全为1 浮点数存储规则 大家都知道整型数据是以补码的方式存放在内存中。以下几个概念是需要知道的: 原码,补码,反…

汇编语言:寻址方式在结构化数据访问中的应用——计算人均收入

有一年多没有在CSDN上发博文了。人的工作重心总是有转移的,庆幸一直在做着有意义的事。   今天的内容,是为汇编语言课程更新一个实验项目。      本方案修改自王爽编《汇编语言》第4版P172“实验7寻址方式在结构化数据访问中的应用” …

探索未来游戏:生成式人工智能AI如何重塑你的游戏世界?

生成式人工智能(Generative AI)正以前所未有的速度改变着各行各业的运作模式。其中,游戏产业作为科技应用的前沿阵地,正经历着前所未有的变革。本文将探讨生成式人工智能如何重塑游戏产业,以及这一变革背后的深远影响。…

一、Docker部署GitLab(详细步骤)

Docker部署GitLab(详细步骤) 一、拉取镜像二、启动容器三、修改配置四、修改密码五、浏览器访问 一、拉取镜像 docker安装教程:https://qingsi.blog.csdn.net/article/details/131270071 docker pull gitlab/gitlab-ce:latest二、启动容器 …

邮件服务器:Postfix

文章目录 邮件服务器的功能与工作原理电子邮件的问题Mail server与DNS 之间的关系邮件传输所需要的组件(MTA、MUA、MDA)以及相关协议用户收信时服务器端所提供的相关协议:MRA电子邮件的数据内容 使用Postfix与Dovecot部署邮件系统部署基础的电子邮件系统配置Postfix…

政校企三方牵手打造新质生产力,共建城市供应链安全检测中心

​4月3日 十堰市经开区政府 x 开源网安 战略合作签约仪式 圆满完成 4月3日,开源网安与十堰市经济技术开发区政府、湖北工业职业技术学院、十堰市经开建投签约仪式在十堰国际会展中心圆满完成。本次签约后,签约方将共建十堰市智能网联汽车网络安全测试…

什么是数据治理?你都了解吗?

在当今数字化时代,数据已成为企业重要的战略资产。有效管理数据对于企业提高运营效率、降低成本、做出更好的决策至关重要。数据治理作为一种重要的管理方法,可以帮助企业确保数据的质量、安全、合规性和有效利用。 一、数据治理的定义与重要性 近日&a…

(南京观海微电子)——TFT驱动原理

TFT液晶显示器件是指在液晶显示器件的每个像素上都连接一个薄膜场效应晶体管。这个场效应管制作在液晶显示器件的玻璃上。每个场效应管独立驱动一个像素,从而可以实现高速度、高亮度、高对比度的显示效果。 TFT液晶显示器件的驱动特性取决于场效应管的工作特性。场效…

SpringBoot实现邮箱验证

目录 1、开启邮箱IMAP/SMTP服务,获取授权码 2、相关代码 1、使用配置Redis(用于存储验证码,具有时效性) 2、邮箱依赖和hutool(用于随机生成验证码) 3、配置Redis和邮箱信息 4、开启Redis服务 5、编写发送…

海外代理IP购买指南:住宅IP代理VS.数据中心代理IP

在选择海外IP代理服务时,您将面临一个关键的问题:是选择住宅代理IP还是数据中心代理IP?这两者之间存在着根本性的不同,涉及到性能、隐私和成本等方面的考虑。住宅代理IP通常来自真实的住宅网络连接,更难被检测到。数据…

Winforms中的ArgumentOutOfRangeException异常

// 定时器事件 只处理计时逻辑 每隔1000毫秒会被调用。 private void timer1_Tick(object sender, EventArgs e) {count; //记录当前秒label3.Text (time - count).ToString() " 秒"; progressBar1.Value count;if(count time){timer1.Stop(); //关闭计时Sys…

MotionBuilder 脚本执行

目录 MediaPipe_Pose_in_MotionBuilder 你可以用以下几种方式执行你的脚本: MediaPipe_Pose_in_MotionBuilder https://github.com/Ndgt/MediaPipe_Pose_in_MotionBuilder/blob/main/PoseLandmark.py tcp通信 https://github.com/nils-soderman/motionbuilder-s…

解决Android Studio Loading Devices问题

目录 一、解决办法(普通): 二、解决办法的优化 三、解决办法的进一步优化 问题:windows 11 电脑,每次开机,打开Android Studio,都会显示Loading Devices,连接不上设备。 原因:adb…

css实现更改checkbox的样式;更改checkbox选中后的背景色;更改checkbox选中后的icon

<input class"check-input" type"checkbox"> .check-input {width: 16px;height: 16px;} /* 设置默认的checkbox样式 */input.check-input[type"checkbox"] {-webkit-appearance: none; /* 移除默认样式 */border: 1px solid #999;outl…

鹏哥C语言复习——结构体

目录 结构体声明&#xff1a; 结构体内存存储相关介绍&#xff1a; 结构体的初始化与使用&#xff1a; 结构体的初始化&#xff1a; 结构体的使用&#xff1a; 结构体对齐&#xff1a; 结构体对齐原则解释&#xff1a; 结构体对齐存在的原因&#xff1a; #pragma pack…