【Python实现数字金字塔】

这篇具有很好参考价值的文章主要介绍了【Python实现数字金字塔】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

金字塔问题


提示:python


前言

数字金字塔是一种常见的数学问题,它由一个数字序列组成的三角形构成,其中每个数字都位于其下面两个数字的正上方。


提示:以下是本篇文章正文内容,下面案例可供参考

一、打印数字金字塔1

代码如下(示例):

def printNumTriangle(N):
    num = 1
    for i in range(1, N + 1):
        for j in range(1, i + 1):
            print(num, end=" ")
            num += 1
        print("\r")
>>> printNumTriangle(5)
1 
2 3 
4 5 6 
7 8 9 10 
11 12 13 14 15

二、打印数字金字塔2

##对结构进行分析
① 共有前边空格和金字塔部分数字需要输出
② 数字部分为对称结构
③ 每行数字最大值与当前行数一致
④ 对称的一半占位数目与当前行数一致

1、循环控制当前行数:使用循环控制当前行数,在其中输出每行相应内容

n = 5   # 这里是输出总行数
for i in range(1, n + 1):
	# 这里后续输出空格、数字

2、输出空格:由于空格在前,首先输出空格,每行空格补齐数字外的位置,因此当前行的空格数=2*(总行数-当前行数)

n = 5  # 这里是输出总行数
for i in range(1, n + 1):
    print(" " * (n - i), end="")
    # 后续输出数字

3、输出数字:把数字分成两部分输出,左半部分从1数起,一直到最大值(当前行数),因此使用循环,控制其最大值即可;

n = 5  # 这里是输出总行数
for i in range(1, n + 1):
    print(" " * (n - i), end="")
    for j in range(1, i + 1):
        print(j, end="")

后半部分,为倒序,且从第二行才开始有输出,起始输出为最大值-1,倒数至1。

n = 5  # 这里是输出总行数
for i in range(1, n + 1):
    print(" " * (n - i), end="")
    for j in range(1, i + 1):
        print(j, end="")
    if i > 1:
        for k in range(i - 1, 0, -1):
            print(k, end="")

4、控制换行:换行应为每行空格和数字全部输出结束时,因此在最外层循环内进行换行

n = 5  # 这里是输出总行数
for i in range(1, n + 1):
    print(" " * (n - i), end="")
    for j in range(1, i + 1):
        print(j, end="")
    if i > 1:
        for k in range(i - 1, 0, -1):
            print(k, end="")
    print()

完整代码:
此外,将前方空格变为两个,数字的结束符号变为空格,则能输出有空格间距的数字金字塔文章来源地址https://www.toymoban.com/news/detail-751587.html

n = 5  # 这里是输出总行数
for i in range(1, n + 1):
    print("  " * (n - i), end="")
    for j in range(1, i + 1):
        print(j, end=" ")
    if i > 1:
        for k in range(i - 1, 0, -1):
            print(k, end=" ")
    print()

到了这里,关于【Python实现数字金字塔】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python-OpenCV中的图像处理-图像金字塔

    同一图像的不同分辨率的子图集合,如果把最大的图像放在底部,最小的放在顶部,看起来像一座金字塔,故而得名图像金字塔。 cv2.pyrUp():上采样 cv2.pyrDown():下采样 高斯金字塔的顶部是通过将底部图像中的连续的行和列去除得到的。顶部图像中的每个像素值等于下一层图

    2024年02月13日
    浏览(42)
  • 【C语言】C语言之数字金字塔全家桶

    题目: 输入一个整数n,输出如下金字塔型的数字 。 金字塔样式如下: 思路: 金字塔由空格与数字组成,可将金字塔拆分为: 1.每层第一个数字左边的空格数 2.每层数字个数,以及每层出现的数字 3.每层的数字与数字之间有一个空格 假设:n层金字塔,i为当前层数,取5层数

    2024年02月05日
    浏览(33)
  • 【OpenCV-Python】——单/多模板匹配&分水岭算法图像分割&图像金字塔&交互式前景提取

    目录 前言: 1、模板匹配 1.1 单目标匹配 1.2 多目标匹配 2、图像分割

    2024年02月07日
    浏览(36)
  • 图像金字塔,原理、实现及应用

    图像金字塔是对图像的一种多尺度表达,将各个尺度的图像按照分辨率从小到大,依次从上到下排列,就会形成类似金字塔的结构,因此称为图像金字塔。 常见的图像金字塔有两类,一种是高斯金字塔(Gaussian Pyramid),另一种的拉普拉斯金字塔(Laplacian Pyramid)。 一般在图

    2024年02月09日
    浏览(30)
  • 【OpenCV实现平滑图像金字塔,轮廓:入门】

    文章内容的概要: 平滑图像金字塔: 轮廓: 使用图像金字塔去创造一个新的水果,“橘果(Orapple)” 函数:cv.pyrUp(), cv.pyrDown() 通常,我们处理图像时使用的是固定分辨率。然而,在某些情况下,我们需要在不同的分辨率下处理同一张图像。例如,在搜索图像中的某些内容(

    2024年02月08日
    浏览(36)
  • opencv基础46-图像金字塔02-拉普拉斯金字塔

    前面我们介绍了高斯金字塔,高斯金字塔是通过对一幅图像一系列的向下采样所产生的。有时,我们希望通过对金字塔中的小图像进行向上采样以获取完整的大尺寸高分辨率图像,这时就需要用到拉普拉斯金字塔 前面我们已经介绍过,一幅图像在经过向下采样后,再对其进行

    2024年02月13日
    浏览(32)
  • opencv基础45-图像金字塔01-高斯金字塔cv2.pyrDown()

    图像金字塔(Image Pyramid)是一种用于多尺度图像处理和分析的技术,它通过构建一系列不同分辨率的图像,从而使得图像可以在不同尺度下进行处理和分析。图像金字塔在计算机视觉、图像处理和计算机图形学等领域中广泛应用,可以用于目标检测、特征提取、图像匹配、尺

    2024年02月13日
    浏览(27)
  • 图像金字塔

    图像金字塔 简单来说就是 自下而上图像一步一步缩小 1 高斯金字塔(涉及高斯分布) 向下采样(缩小,对金字塔来说是自下向上) 第一步: 高斯滤波去噪 第二部:将偶数行和列去掉 向上采样(放大,对金字塔来说是自上向下) 第一步:在每个方向上扩大两倍,新增的行和

    2023年04月22日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包