使用Python输出数字金字塔

  • 一、目标
  • 二、分析
  • 三、编写思路
    • 1、循环控制当前行数
    • 2、输出空格
    • 3、输出数字
    • 4、控制换行
  • 四、补充
  • 完整代码

一、目标

生成如下格式的数字金字塔

    1121123211234321
123454321

二、分析

对结构进行分析,可知

  1. 共有前边空格和金字塔部分数字需要输出
  2. 数字部分为对称结构
  3. 每行数字最大值与当前行数一致
  4. 对称的一半占位数目与当前行数一致

三、编写思路

1、循环控制当前行数

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

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

2、输出空格

由于空格在前,首先输出空格,每行空格补齐数字外的位置,因此
空格数=当前行数-数字个数

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

其中,end用于使每个print()函数不进行换行

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()

以上为完整形式。

四、补充

此外,将前方空格变为两个,数字的结束符号变为空格,则能输出有空格间距的数字金字塔

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()

结果如下

        1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1
1 2 3 4 5 4 3 2 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="")print()

对应输出

    1121123211234321
123454321

2、

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()

对应输出

        1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1
1 2 3 4 5 4 3 2 1

输出数字金字塔(Python为例)相关推荐

  1. python输出数字金字塔_Python输出数字金字塔

    原博文 2019-10-25 19:47 − 使用Python输出一个数字金字塔 运行结果: 源代码: ''' Python输出数字金字塔 ''' for x in range(1,10): prin ...

  2. 使用双重循环,输出数字金字塔

    代码: package net.text0702;import java.util.Scanner;/*** @author Mr.Wang* 根据输入数字,输出数字金字塔:输入几就是几行,每行输出当 ...

  3. java金字塔显示_java控制台输出数字金字塔示例分享

    /*Java *Author: NealFeng at oschina.net *License: GPLv2+ *Time: 2014/1/17 * *在控制台输出数字金字塔: *          ...

  4. java金字塔数字问题,java控制台输出数字金字塔示例分享

    复制代码代码如下: /*Java *Author: NealFeng at oschina.net *License: GPLv2+ *Time: 2014/1/17 * *在控制台输出数字金字塔: ...

  5. 输出数字金字塔(数字1-9)

    #include <stdio.h> //输出数字金字塔(数字1-9) int main() {int n,i,j,k;scanf("%d",&n);for ( ...

  6. Python实验之——输出数字金字塔

    1. 在金字塔模式中显示数字(编写一个嵌套 for 循环来显示下面的输出): 为了给同学们更好地指导实验,我得认真提前把题目做一遍.这个题目其实还是有点复杂的,想了一种比较简单的解法如下(代码小弱请勿 ...

  7. python 用while输出数字金字塔_用Python实现一个Dual Thrust数字货币量化交易策略

    Dual Thrust交易算法介绍 Dual Thrust交易算法是由Michael Chalek开发的著名量化交易策略.它通常用于期货,外汇和股票市场.Dual Thrust的概念属于典型的突破交易 ...

  8. 角谷定理python输出变化过程,Python 100例——第十章----定理与猜想

    # -*- coding: cp936 -*- from math import sqrt import random #第十章----定理与猜想 #<c趣味编程>78-85题 #21:5 ...

  9. Python——数字金字塔

    例 4-16使用 *号输出金字塔形状. 程序在第 i 行,每行打印(2i-1)个星号(*),在之前输出 n - i 个空格,n 是用户申请打印的行数. #ex0416.py n = eval(inpu ...

  10. 本题要求实现函数输出n行数字金字塔。_练习5-3 数字金字塔 (15分)

    本题要求实现函数输出n行数字金字塔. 函数接口定义: void pyramid( int n ); 其中n是用户传入的参数,为[1, 9]的正整数.要求函数按照如样例所示的格式打印出n行数字金字塔.注 ...

最新文章

  1. leetcode-386 字典序排数
  2. 判断手机是否输入表情
  3. 兼容IE和FF的JS HTMLEncode和HTMLDecode的完整实例[转]
  4. WinCE切换GPRS
  5. Rainbond v3.7.0:实现企业级PaaS的稳定性
  6. 数据智能是未来商业的核心竞争力之一
  7. Pandas 中 把Dataframe 格式转化为 array 数组
  8. linux下的mongodb数据库原生操作
  9. 当PowerDesigner的工具栏不见时候该怎么调出来
  10. matlab里的timer,关于Matlab中用timer来实现多线程机制
  11. 《一页纸项目管理》——读书笔记
  12. java8新特性 lambda Stream map(函数式编程)
  13. 百度 李彦宏 2008年在北大毕业典礼的演讲稿
  14. 真切还是虚无?宇宙可能是一个假真空气泡
  15. 5、设备树操作reg
  16. 【第一组】第七次冲刺例会纪要
  17. POJ 1655 求树的重心(树形dp)
  18. js实现拼图游戏(数字版本与图片版本)
  19. Spring的动态代理原理
  20. 华为ENSP之防火墙双机热备

热门文章

  1. 算法设计与分析2022 · 期末押题专项
  2. 使用ICEcoder在浏览器中编辑代码
  3. sdut3345+2127 哈夫曼树
  4. 2021-2025年中国偏光镜支架行业市场供需与战略研究报告
  5. 乔春洋:领导型品牌的防御策略
  6. Agera 一个来自谷歌官方的超轻量Android库
  7. 华为端口隔离命令_事件源和命令查询责任隔离简介
  8. 马哥教育云计算培训怎么样?
  9. 记第二届华中七校信息领域学生领袖峰会
  10. 电缆桥架其附件采购招标项目