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