-1
我想打印一个完整的三角形星号结合这两个半三角形。我怎么能结合这两个循环打印一个完整的三角形
for g in range (11,0,-1):
print(g * ' ' + (11-g) * '*')
for i in range(11,0,-1):
print ('*'*(11-i)+ ' '*i)
我想打印一个完整的三角形星号结合这两个半三角形。我怎么能结合这两个循环打印一个完整的三角形
for g in range (11,0,-1):
print(g * ' ' + (11-g) * '*')
for i in range(11,0,-1):
print ('*'*(11-i)+ ' '*i)
蟒蛇format mini language提供了一个强有力的机制来控制的事情是如何显示
尤其是你正在寻找的*
三角中心^
和填充用。对于尺寸为
n
的三角形,三角形的宽度是2n-1
,例如,对于n=5
:格式规格将为' ^9'
。
每行*
的个数为2i-1 for i in 1..n
。
所以把这个放在一起你会得到:
>>> n = 5
>>> for i in range(1, n+1):
... print(format('*'*(2*i-1), ' ^'+str(2*n-1)))
*
***
*****
*******
*********
或者作为一个单一的表达式(使用变量替换):
print('\n'.join('{: ^{width}}'.format('*'*(2*i-1), width=2*n-1) for i in range(1, n+1)))