【发布时间】:2014-09-28 21:42:30
【问题描述】:
在这种情况下,我试图一次删除一个字符,直到字符串(等式)中的等号。
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 种是相同的?我究竟做错了什么? 附:忽略表达式的第二部分。
【问题讨论】:
-
如果您一次删除一个字符直到字符串中出现等号,它如何变成
+2=2+1? -
您有两个
for循环,其中一个有错误的端点,另一个您忽略了。也许您应该更仔细地查看代码? -
@PadraicCunningham 我忘了说,我正在删除,字符串中只有整数,而不是操作数