【问题标题】:Delete the last occurence of an increment删除最后一次出现的增量
【发布时间】:2020-04-01 12:48:12
【问题描述】:

我想知道如何删除打印中最后一次出现的增量。我给你举个例子:

 copi = copy(pa[0])
 for i in copi:
      print(i,"+", end=''),
 print("=", sum(copi))

我的结果是:

2 +3 +4 +5 +6 += 20

但如你所见,问题是我的“+”太多了。

你能帮忙得到这个结果吗:

2 +3 +4 +5 +6 = 20

感谢阅读!

【问题讨论】:

  • 可能会更好地启动一个空字符串以将其输入循环并最终在打印之前删除最后一个字符?
  • 2 +3 +4 +5 +6 = 20 为什么是15?不应该是20吗?
  • 是的,我错过了点击
  • 请使用 print(' + '.join([str(i+1) for i in copi]), end='')
  • 字符串有一个强大的join 方法。删除for 循环并使用print(' + '.join(str(value) for value in copi), end='')(或value + 1,如果你真的想要的话)。如果您不需要增量,您可以进入下一个级别:print(' + '.join(map(str, copi)), end='')

标签: python python-3.x string list function


【解决方案1】:

有几种方法。最简单的方法是省略循环中的最后一项并在之后使用它(尽管这不适用于生成器)。

copi = copy(pa[0])
for i in copi[:-1]:
    print(i+1,"+", end='')
print(copi[-1]+1, "=", sum(copi))

【讨论】:

    【解决方案2】:

    您可以使用str.join 并删除for 循环:

    ' + '.join(map(str, copi))
    

    例如:

    copi = [2, 3, 4, 5, 6]
    print(' + '.join(map(str, copi)), '=', sum(copi))
    

    输出:

    2 + 3 + 4 + 5 + 6 = 20
    

    【讨论】:

      【解决方案3】:

      您可以在此处使用'+'.join

      copi=[2,3,4,5,6]
      print(f'{"+".join(map(str,copi))}={sum(copi)}')
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-04-14
        • 1970-01-01
        • 2021-03-12
        • 2012-06-05
        • 1970-01-01
        • 2015-12-09
        • 2015-11-04
        相关资源
        最近更新 更多