【问题标题】:How to print a loop's result horizontally with a string in python?如何用python中的字符串水平打印循环的结果?
【发布时间】:2020-09-30 18:46:33
【问题描述】:

我想用一个字符串和一个变量水平打印一个循环的结果。

我的代码

total = 0
for i in range(2, 6):
    total += i
    print(i, end=' ', 'sum = {}'.format(total))

我想要的输出:

2 3 4 5 sum=14

【问题讨论】:

    标签: python-3.x printing output concatenation


    【解决方案1】:

    您需要将sum 的打印输出放在循环之外

    total = 0
    for i in range(2, 6):
        total += i
        print(i, end=' ')
    print('sum = {}'.format(total))
    

    输出

    2 3 4 5 sum = 14
    

    【讨论】:

      【解决方案2】:

      存储范围,然后在最后迭代和求和

      r = range(2, 6)
      
      for i in r:
          print(i, end=" ")
      
      print(f"sum = {sum(r)}")
      

      在一行上存储范围和格式化字符串

      r = range(2, 6)
      
      print(f'{" ".join([str(i) for i in r])} sum = {sum(r)}')
      

      添加到循环中的字符串,然后在末尾打印

      r = range(2, 6)
      
      s = ""
      for i in r:
          s += f"{i} "
      
      print(f"{s}sum = {sum(r)}")
      

      【讨论】:

        【解决方案3】:

        除了 Leo 提到的,你也可以尝试使用 f'{}' 方法来打印。我觉得它更方便和直观。

        total = 0
        for i in range(2,6):
            total +=i
            print(i, ' ', end='')
        print(f'sum={total}', end='')
        

        输出:

        2  3  4  5  sum=14
        

        【讨论】:

          猜你喜欢
          • 2014-12-13
          • 2022-01-15
          • 1970-01-01
          • 1970-01-01
          • 2022-10-06
          • 1970-01-01
          • 1970-01-01
          • 2015-06-23
          • 2018-02-01
          相关资源
          最近更新 更多