【问题标题】:How to remove a certain string before printing?如何在打印前删除某个字符串?
【发布时间】:2022-11-16 03:22:29
【问题描述】:
answer = input('Enter a number: ')
x = 10**(len(answer) - 1)
print(answer, end = ' = ')
for i in answer: 
    if '0' in i:
        x = x//10
        continue
    else:
        print('(' + i + ' * ' + str(x) + ')' , end = '')
        x = x//10
        print(' + ', end = '')

所以我遇到了这个问题,当我输入任何数字时,一切都很好,但最后有一个我不想要的额外 '+'。现在通常这不会是列表和 .remove 函数的问题,但是我不允许使用这些来解决这个问题。我想不出任何不涉及功能的解决方案

我尝试匹配长度,但由于“0”而无法正常工作

【问题讨论】:

  • 解决此问题的一种简单方法是将所有条款放入list,然后执行print(' + '.join(terms))
  • 删除print(' + ', end = '')

标签: python


【解决方案1】:

错误是输出末尾多了一个“+”。这可以通过在代码末尾添加“if”语句来解决,该语句检查输出中的最后一个字符是否为“+”,如果是,则将其删除。

【讨论】:

    【解决方案2】:

    您可以在 else 块中插入一个额外的条件:

    else:
        print('(' + i + ' * ' + str(x) + ')' , end = '')
        x = x//10
        if x:
            print(' + ', end = '')
    

    这将有助于在不需要时不插入最后一个加号

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-27
      • 2020-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-22
      相关资源
      最近更新 更多