#打印对顶三角形,如下图

*******

 *****

  ***

   *

  ***

 *****

*******


将上图可看做是个对称图形

第一行7个*

第二行5个*,首尾各空一个空格

第三行3个*,首尾各空两个空格

...

第一行可以看做是-n//2+1~n//2,即-3~3

方法:

for i in range(-3,4):                                                        #已0为对称轴,打印上下形状
    print(' '* (3+1 - abs(i)) + '*' * (2 * abs(i) + 1))            #abs(),是取绝对值函数


变式,打印任意长的对顶三角形:

n = int(input('输入三角形边长:'))
mid = n//2
for i in range(-mid,mid+1):
    print(' '* (mid+1 - abs(i)) + '*' * (2 * abs(i) + 1))