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

时间:2018-10-29 18:03:58

标签: python python-3.x

n = int(input())
for i in range(1,n+1):
    print(" "*(n-i),"#"*i)

我是要打印吗?

     #
    ##
   ###
  ####
 #####
######

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

      #
     ##
    ###
   ####
  #####
 ######

在每行之前添加一个多余的空格,因此该模式将右移一个“”。

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

3 个答案:

答案 0 :(得分:6)

print在每个参数之间插入,并添加sep=''

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

或使用format字符串:

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

答案 1 :(得分:1)

print()函数在参数之间插入一个空格。

您可以通过传递一个参数-连接参数的结果来解决此问题。

n = int(input())
for i in range(1,n+1):
    print(" "*(n-i) + "#"*i)

使用n = 5

    #
   ##
  ###
 ####
#####

答案 2 :(得分:1)

将代码更改为:

n = int(input())
for i in range(1,n+1):
    print(" "*(n-i) + "#"*i)

在print语句中使用','而不是'+'会导致在连接词之间出现多余的空格