我正在尝试创建一个计算器。为什么我无法捕捉到 EOF 错误?当我输入多个特殊字符时,我的程序崩溃了。例如 2++
这个问题一般是怎么解决的?
提前致谢!
def calcfieldcheck(input):
return re.match("^[0-9\.\-\/\*\+\%]+$",input)
#uitzoeken hoe regex nesten
def calculate(input):
print "Wat moet ik berekenen?"
counter=0
while not calcfieldcheck(input):
if counter > 0:
print "Je kan alleen getallen en expressies berekenen!"
input=raw_input("> ")
else:
print
input=raw_input("> ")
counter=counter+1
print
print "je hebt het volgende ingevoerd: ",input
try:
print "het resultaat is:", eval(input)
except EOFError:
print "EOFError, je calculatie klopt niet."
input=raw_input("> ")
print
print
counter=0