我正在尝试使用python eval解析和评估公式并进行编译。在一种情况下,它正在工作,在其他情况下,它没有工作。见下文: 一切正常
>>> formula = '(00*3600)+(03*60)+10'
>>> eval(compile(formula, '<string>', 'eval'))
190
但这会导致错误
>>> formula = '(00*3600)+(08*60)+53'
>>> eval(compile(formula, '<string>', 'eval'))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
(00*3600)+(08*60)+53
^
SyntaxError: invalid token
请帮助。我听不懂我正在使用Python 2.7.5
答案 0 :(得分:9)
前导零使python将值视为八进制数。 08是无效的,因为八进制数字只能包含数字0-7。您应该删除前导零。