我试图一次删除一个字符,直到在这种情况下字符串(方程)中的等号。Python解决方案
def solutions(expression):
positionOfEqualSign = expression.find("=")
for i in range(0, len(expression)):
for exp in range(i, positionOfEqualSign):
if expression[i].isdigit():
print(expression[:i] + expression[i+1:])
例如,如果我运行它solutions('1+2=2+1')
我应该得到只有2种可能的解决方案:
+2=2+1
1+=2+1
,但我得到:
+1=2+1
+1=2+1
+1=2+1
1+=2+1
为什么输出4个不同的可能解决方案,其中3个是相同的?我究竟做错了什么? P.S.忽略表达式的第二部分。
它是如何成为'+ 2 = 2 + 1'如果要删除一次最多一个字符,直到一个字符串中的等号? – 2014-09-28 21:53:55
你有两个'for'循环,其中一个有错误的终点,另一个你忽略。也许你应该更仔细地检查代码? – jonrsharpe 2014-09-28 21:54:18
@PadraicCunningham我忘了提,我删除,只整数字符串中,没有操作数 – user3408174 2014-09-28 22:04:44