首页 > 解决方案 > 如何在字符串中切换算术运算

问题描述

尝试在 Python 中切换字符串中所有算术运算的符号时遇到问题。

我的输入看起来像这样:"+1-2"
输出应该是这样的:"-1+2"

但是当我尝试用replace()函数替换字符时:

"+1-2".replace("+", "-").replace("-", "+")

我得到的输出是:'+1+2'

看起来这些replace功能正在同时替换所有东西,所以它永远不会以这种方式正确切换它。具有类似功能的单线解决方案将非常有帮助。

标签: pythonstringalgorithm

解决方案


使用str.translate

s = "+1-2+3+4-2-1"
t = str.maketrans('+-','-+')
print(s.translate(t))

输出:

-1+2-3-4+2+1

推荐阅读