如何使用print而不在参数之间添加空格?

Int*_*bhi 1 python python-3.x

n = int(input())
for i in range(1,n+1):
    print(" "*(n-i),"#"*i)
Run Code Online (Sandbox Code Playgroud)

我打算打印:

     #
    ##
   ###
  ####
 #####
######
Run Code Online (Sandbox Code Playgroud)

我的解决方案是打印以下结果:

      #
     ##
    ###
   ####
  #####
 ######
Run Code Online (Sandbox Code Playgroud)

添加每一行之前的额外空格,因此图案向右移动一个"".

如何使用print而不在参数之间添加空格?

Dan*_*iel 6

print between each argument, add sep='':

n = int(input())
for i in range(1,n+1):
    print(" "*(n-i),"#"*i, sep="")
Run Code Online (Sandbox Code Playgroud)

或使用format-strings:

for i in range(1,n+1):
    print("{:>{}s}".format("#"*i, n))
Run Code Online (Sandbox Code Playgroud)

  • 另一种选择是将两个参数连接成一个字符串,而不是让`print`为你做.只需使用`+`而不是`,`. (2认同)