我試圖一次刪除一個字符,直到在這種情況下字符串(方程)中的等號。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