我们可以轻松生成如下三角形数字:
1
22
333, etc...
我正在寻找的是获得答案的方式:
1
22
333 ( each number at the center of the following, 1 between 22,etc.)
我可以使用此代码使用星号'*'
执行此操作:
n=int(input("give the number of star's lines:")
for i in range(n):
T=' '*(n-i-1) + 'x'*(2*i+1)
print(T)
我必须使用def
功能还是其他功能?
谢谢
答案 0 :(得分:0)
您可以使用str.rjust()
来证明自己的数字:
n = int(input("give the number lines: ")) # obviously, you should check for non-int inputs
for i in range(1, n + 1): # loop our number of lines, starting from 1
print((str(i)*i).rjust(n)) # multiply string repr. of 'i' by itself and 'rjust' it
这可以给你类似的东西:
give the number lines: 5
1
22
333
4444
55555
您可以增加str.rjust()
使用的数字,使其偏离左侧更多偏移量。