思路:
(以一行是10元素为例)
第1行9个空格,1个*。
第2行8个空格,2个*。
第3行7个空格,3个*。
……
那么第x行有y=(10-x)个空格,x个*。
即如下图:
这样数量对了,就是形状不对,给每个*后面加一个空格后,效果如下:
这样上半部分就好啦。
然后是下半部分
第1行1个空格,9个*
第2行2个空格,8个*
第3行3个空格,7个*
……
第x行x个空格,z=(10-x)个*,如下图
同样,*后面加上空格形状就对啦
然后拼起来就OK了。
代码如下:
for x in range(10):
for y in range(10-x):
print(' ',end='')
print('* '*x)
for x in range(10):
for z in range(x):
print(' ',end='')
print('* '*(10-x))
print()
运行结果:
当然,这里是以10为例的,这个10也可以用一个提前定义好的变量来替换。