【问题标题】:How can I use print and not have spaces added between arguments?如何使用 print 并且在参数之间不添加空格?
【发布时间】:2018-10-30 03:39:37
【问题描述】:
n = int(input())
for i in range(1,n+1):
    print(" "*(n-i),"#"*i)

我是否尝试打印:

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

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

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

在添加每一行之前有一个额外的空格,因此模式右移一个“”。

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

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

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

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

    或使用format-strings:

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

    【讨论】:

    • 另一种选择是将两个参数连接成一个字符串,而不是让print 为你做这件事。只需使用+ 而不是,
    • @Blckknght 哈,我的答案完全正确!
    【解决方案2】:

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

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

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

    n = 5:

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

    【讨论】:

      【解决方案3】:

      将代码更改为:

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

      在打印语句中使用“,”而不是“+”会导致在连接的术语之间出现额外的空格

      【讨论】:

        猜你喜欢
        • 2021-10-28
        • 1970-01-01
        • 2023-01-02
        • 2011-08-19
        • 2013-05-14
        • 2020-06-01
        • 2012-12-06
        • 2021-03-22
        • 1970-01-01
        相关资源
        最近更新 更多