python循环嵌套输出数字菱形图案
题目
思路
研究给出的例子。
先考虑上半部分:
当数字为3时,
第1行输出2个空格后输出1,
第2行输出1个空格后输出121,
第3行输出0个空格后输出12321,结束。
当数字为4时,
第1行输出3个空格后输出1,
第2行输出2个空格后输出121,
第3行输出1个空格后输出12321,
第4行输出0个空格后输出1234321,结束。
……
当数字为n时,
第1行输出n-1个空格后输出1,
第2行输出n-2个空格后输出121,
第3行输出n-3个空格后输出12321,
……
第n行输出0个空格后输出123…n…321,结束。
每行输出的空格数是从n-1至0的逆序数,
输出数字从1至n,再至1。
下半部分可以直接用上半部分的代码交换顺序得到。
后来看到讲解是外层也是用的 for 循环,for好像是运算更简单一些?
不过这个是自己写出来的,做个纪念。
代码
while + for 嵌套
n = int(input("请输入一个正整数:"))
j = 0
while j<n:
j+=1
print(' '*(n-j),end="")
for i in range(1,