我试图一次删除一个字符,直到字符串中的等号(等式)为止。
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种相同?我究竟做错了什么? 附:忽略表达式的第二部分。
答案 0 :(得分:2)
这就是诀窍:
def solutions(s):
for i,c in enumerate(s):
if c=='=':
break
elif c.isdigit() :
print s[:i]+s[i+1:]
但是从一般意义上说,我不知道什么是好事。
答案 1 :(得分:0)
好的我改了一下:
def solve(expression):
positionOfEqualSign = expression.find("=")
for i in range(0, len(expression)):
if expression[i] == '=':
break
elif expression[i].isdigit():
print(expression[:i] + expression[i+1:])