1、分析:首先我们分析一下菱形的构成,加入你输入2,则打印一个3行的菱形;加入你输入一个3,则打印五行的菱形。也就是根据输入的数字a,打印2a-1行的菱形。菱形从图像来说,是一个三角形加上一个倒三角组成的,所以可以用双循环打印两个三角形,打印倒三角形的条件是第一次循环计数器i的值等于a。
2、参考代码如下:
a = int(input(">>>"))
c=a
b=a -----为了便于后面循环打印使用,暂时将a的值暂时存放在临时变量c和b中
for i in range(1,a+1): -----第一层循环打印三角形
print(" "*(c-1),"*"*(2*i-1))-----随着行的增加,打印c-1个空格(我这里用的两个空格),2*i-1个*号
c=c-1-----每增加一行,空格减少一个
if(i==a): -----临界条件,接下来打印倒三角
for y in range(1,a):-----循环打印倒三角
print(" "*y,"*"*(2*b-3))-----随着行增加,打印y个空格,2*b-3个*号
b=b-1 -----每增加一行,*号减少
3、运行如下: