0
下面的代碼是由我與許多的幫助,所以退伍軍人創建:Python的解析錯誤消息功能
代碼需要輸入的數學表達式,並將它分爲符和操作數,供以後使用。我創建了兩個函數,分割的解析函數和錯誤函數。我遇到了錯誤函數的問題,因爲它不會顯示我的錯誤消息,並且我感覺代碼運行時該函數被忽略。如果輸入如下所示的表達式,則應輸出錯誤:3 // 3 + 4等。總共有兩個操作符,或者整個表達式中有兩個以上的操作符,但錯誤消息不打印。我的代碼如下:
def errors():
numExtrapolation,opExtrapolation=parse(expression)
if (len(numExtrapolation) == 3) and (len(opExtrapolation) !=2):
print("Bad1")
if (len(numExtrapolation) ==2) and (len(opExtrapolation) !=1):
print("Bad2")
def parse(expression):
operators= set("*/+-")
opExtrapolate= []
numExtrapolate= []
buff=[]
for i in expression:
if i in operators:
numExtrapolate.append(''.join(buff))
buff= []
opExtrapolate.append(i)
opExtrapolation=opExtrapolate
else:
buff.append(i)
numExtrapolate.append(''.join(buff))
numExtrapolation=numExtrapolate
#just some debugging print statements
print(numExtrapolation)
print("z:", len(opExtrapolation))
return numExtrapolation, opExtrapolation
errors()
任何幫助,將不勝感激。請不要引入比此處代碼更高級的新代碼。我正在尋找解決方案來解決我的問題...不是很大的新代碼段。謝謝。
好的。如何打印(len(numExtrapolate))。你在那裏看到什麼? – Himanshu
你可以加入我的聊天嗎? – SeesSound
雖然它應該是3,但我確實得到了數字4的4 – SeesSound