输出数字金字塔(Python为例)
使用Python输出数字金字塔
- 一、目标
- 二、分析
- 三、编写思路
- 1、循环控制当前行数
- 2、输出空格
- 3、输出数字
- 4、控制换行
- 四、补充
- 完整代码
一、目标
生成如下格式的数字金字塔
1121123211234321
123454321
二、分析
对结构进行分析,可知
- 共有前边空格和金字塔部分数字需要输出
- 数字部分为对称结构
- 每行数字最大值与当前行数一致
- 对称的一半占位数目与当前行数一致
三、编写思路
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为例)相关推荐
- python输出数字金字塔_Python输出数字金字塔
原博文 2019-10-25 19:47 − 使用Python输出一个数字金字塔 运行结果: 源代码: ''' Python输出数字金字塔 ''' for x in range(1,10): prin ...
- 使用双重循环,输出数字金字塔
代码: package net.text0702;import java.util.Scanner;/*** @author Mr.Wang* 根据输入数字,输出数字金字塔:输入几就是几行,每行输出当 ...
- java金字塔显示_java控制台输出数字金字塔示例分享
/*Java *Author: NealFeng at oschina.net *License: GPLv2+ *Time: 2014/1/17 * *在控制台输出数字金字塔: * ...
- java金字塔数字问题,java控制台输出数字金字塔示例分享
复制代码代码如下: /*Java *Author: NealFeng at oschina.net *License: GPLv2+ *Time: 2014/1/17 * *在控制台输出数字金字塔: ...
- 输出数字金字塔(数字1-9)
#include <stdio.h> //输出数字金字塔(数字1-9) int main() {int n,i,j,k;scanf("%d",&n);for ( ...
- Python实验之——输出数字金字塔
1. 在金字塔模式中显示数字(编写一个嵌套 for 循环来显示下面的输出): 为了给同学们更好地指导实验,我得认真提前把题目做一遍.这个题目其实还是有点复杂的,想了一种比较简单的解法如下(代码小弱请勿 ...
- python 用while输出数字金字塔_用Python实现一个Dual Thrust数字货币量化交易策略
Dual Thrust交易算法介绍 Dual Thrust交易算法是由Michael Chalek开发的著名量化交易策略.它通常用于期货,外汇和股票市场.Dual Thrust的概念属于典型的突破交易 ...
- 角谷定理python输出变化过程,Python 100例——第十章----定理与猜想
# -*- coding: cp936 -*- from math import sqrt import random #第十章----定理与猜想 #<c趣味编程>78-85题 #21:5 ...
- Python——数字金字塔
例 4-16使用 *号输出金字塔形状. 程序在第 i 行,每行打印(2i-1)个星号(*),在之前输出 n - i 个空格,n 是用户申请打印的行数. #ex0416.py n = eval(inpu ...
- 本题要求实现函数输出n行数字金字塔。_练习5-3 数字金字塔 (15分)
本题要求实现函数输出n行数字金字塔. 函数接口定义: void pyramid( int n ); 其中n是用户传入的参数,为[1, 9]的正整数.要求函数按照如样例所示的格式打印出n行数字金字塔.注 ...
最新文章
- leetcode-386 字典序排数
- 判断手机是否输入表情
- 兼容IE和FF的JS HTMLEncode和HTMLDecode的完整实例[转]
- WinCE切换GPRS
- Rainbond v3.7.0:实现企业级PaaS的稳定性
- 数据智能是未来商业的核心竞争力之一
- Pandas 中 把Dataframe 格式转化为 array 数组
- linux下的mongodb数据库原生操作
- 当PowerDesigner的工具栏不见时候该怎么调出来
- matlab里的timer,关于Matlab中用timer来实现多线程机制
- 《一页纸项目管理》——读书笔记
- java8新特性 lambda Stream map(函数式编程)
- 百度 李彦宏 2008年在北大毕业典礼的演讲稿
- 真切还是虚无?宇宙可能是一个假真空气泡
- 5、设备树操作reg
- 【第一组】第七次冲刺例会纪要
- POJ 1655 求树的重心(树形dp)
- js实现拼图游戏(数字版本与图片版本)
- Spring的动态代理原理
- 华为ENSP之防火墙双机热备