利用python打印菱形
条件:如图,打印以下菱形 ,以7个位置为例
分析思路:
行号 |
星星个数 |
前空格数 |
总空格数 |
1 |
1 |
3 |
6 |
2 |
3 |
2 |
4 |
3 |
5 |
1 |
2 |
4 |
7 |
0 |
0 |
5 |
5 |
1 |
2 |
6 |
3 |
2 |
4 |
7 |
1 |
3 |
6 |
我们前空格数和星星数是很容易找到规律的,都是先增再减少,前空格数是以0为对称位的数,而星星数是+2或者-2;总共只有7个位置,只要我们取到[-3,3]范围就行;那么有规律那么我们就使用for循环来打印。
第一种:利用最基本的判断和字符串拼接方式
第二种:利用abs()函数的解法
注:abs()函数解释:全名为absolute value(绝对值);就是返回一个数的绝对值
此方法能够省去判段,能在一定程度上进行代码的优化
第三种:利用format函数来进行打印
注:format()函数解释:Python的格式化字符串
最后,我们根据以上打印方式找到规律,并总结出一种打印公式
注:不要过于依赖公式,有时候的打印题可能过于奇怪,你需要知道如何去分析,多找规律才是正确的选择