华为 OD 清单查看地址:blog.youkuaiyun.com/hihell/category_12199275.html
数字反转打印 数字的排列
题目
小华是个很有对数字很敏感的小朋友,
他觉得数字的不同排列方式有特殊的美感。
某天,小华突发奇想,如果数字多行排列,
第一行1
个数,
第二行2
个,
第三行3
个,
即第n
行n
个数字,并且奇数行正序排列,
偶数行逆序排列,数字依次累加。
这样排列的数字一定很有意思,请帮小华实现。
规则总结如下:
- 每个数字占据
4
个位置,不足四位用*
补位,如1
打印为1***
- 数字之间相邻
4
空格 - 数字的打印顺序按照正序逆序交替打印,奇数行正序,偶数行逆序
- 最后一行数字顶格,第
n-1
行相对第 n 行缩进四个空格
输入
第一行输入为 N,表示打印多少行,1 <= N <= 30
输出描述
XXXX1***
3***XXXX2***
示例一
输入
2
输出
'
1***
3*** 2***
'
- 此处输出结果中没有首尾的
'
编码思路
该代码的主要思路是打印一个由数字和星号组成的倒三角形状,其中数字依次递增。首先,使用一个列表 list* 存储每一行的数字,使用布尔变量 asc 表示当前行的数字是升序还是降序。接着,使用循环逐行生成数字,将每行的数字存储到 list* 中。然后,从 list_ 中逐行生成输出,使用字符串拼接实现数字和星号的排版。最后,倒序输出所有行的字符串。
核心知识点
列表(list):Python 中的