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、运行如下:

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐