【问题标题】:Right Justify python右对齐 python
【发布时间】:2015-10-02 01:34:30
【问题描述】:

如何证明这段代码的输出是正确的?

N = int(input())
case = '#'
print(case)

for i in range(N):
    case += '#'
    print(case)

【问题讨论】:

标签: python python-3.x


【解决方案1】:

您可以使用format> 来右对齐

N = 10
for i in range(1, N+1):
    print('{:>10}'.format('#'*i))

输出

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

您也可以使用rjust 以编程方式计算右对齐的距离。

for i in range(1, N+1):
    print(('#'*i).rjust(N))

【讨论】:

    【解决方案2】:

    看来您可能正在寻找 rjust:

    https://docs.python.org/2/library/string.html#string.rjust

    my_string = 'foo'
    print my_string.rjust(10)
    '       foo'
    

    【讨论】:

      【解决方案3】:

      string.format() 方法将此作为其语法的一部分。

      print "{:>10}".format(case)
      

      字符串中的数字告诉python字符串应该有多少个字符,即使它大于case的长度。大于号告诉它在该空间内右对齐case

      【讨论】:

        【解决方案4】:
        N = int(input())
        for i in range(N+1):
            print(" "*(N-i) + "#"*(i+1))
        

        打印正确数量的空格,后跟正确数量的“#”字符。

        【讨论】:

          【解决方案5】:

          一个使用 f-string 和 join 的衬垫:

          print("\n".join([f"{'#' * i:>10}" for i in range(1, 11)]))
          

          输出:

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

          如果您想包含行号,您可以执行以下操作:

          print("\n".join([f"{i:<3}{'#' * i:>10}" for i in range(1, 11)]))
          

          输出:

          1           #
          2          ##
          3         ###
          4        ####
          5       #####
          6      ######
          7     #######
          8    ########
          9   #########
          10 ##########
          

          【讨论】:

            猜你喜欢
            • 2012-03-27
            • 1970-01-01
            • 2021-03-14
            • 2019-02-12
            • 2023-03-27
            • 1970-01-01
            • 2018-03-09
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多