我试图每次删除一个字符,直到字符串(等式)中的等号为止。
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+1
1+=2+1但我得到了:
+1=2+1
+1=2+1
+1=2+1
1+=2+1为什么它输出4种不同的解决方案,其中3种是相同的?我做错了什么?忽略表达式的第二部分。
发布于 2014-09-28 21:53:44
这就是诀窍:
def solutions(s):
for i,c in enumerate(s):
if c=='=':
break
elif c.isdigit() :
print s[:i]+s[i+1:]但我不知道在更一般的意义上它有什么好处。
发布于 2014-09-28 22:08:23
好的,我把它改了一点:
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:])https://stackoverflow.com/questions/26089955
复制相似问题