打印菱形
- 方法1
for i in range(-3,4):
if i<0:
prespace = -i
else:
prespace = i
print(' '*prespace + '*'*(7-2*prespace))
- 方法2
使用abs()内建函数,abs可以当做绝对值来看,括号内所有int都转换为正数。
for i in range(-3,4):
print(' '*abs(i) + '*'*(7-2*abs(i)))
- 方法3
使用format()函数,{:^7}指函数内指定的字符为7个字节并且居中对齐。
for i in range(-3,4):
print("{:^7}".format('*'*(7-2*abs(i))))
- 打印结果
*
***
*****
*******
*****
***
*
打印对顶三角形
- 方法1:
n = 7
m = n // 2
for i in range(-m,n-m):
a = -i if i<0 else i
print(' ' *(m-a) + '*'*(2*a+1))
- 方法2:
居中
n = 7
m = n // 2
for i in range(-m,n-m):
print('{:^{}}'.format('*' *(2 *abs(i)+1),n))
- 输出结果:
*******
*****
***
*
***
*****
*******
- 打印闪电
方法1::
for i in range(-3,4):
if i<0:
print(' '* (-i) + '*' * (4+i))
elif i>0:
print(' '* 3 + '*' * (4-i))
else:
print('*' * 7)
方法2:
n =7
e = n // 2
x = n -e
for i in range(-e,x):
if i<0:
print(' ' * -i + (x + i) * '*')
elif i>0:
print(' ' * e + (x -i) * '*')
else:
print('*' * n)
- 输出结果:
*
**
***
*******
***
**
*