diff --git a/src/utils/math_evaluator.py b/src/utils/math_evaluator.py index b7ef34027..ff04009ab 100644 --- a/src/utils/math_evaluator.py +++ b/src/utils/math_evaluator.py @@ -154,8 +154,16 @@ def visit_Expression(self, node): return self.visit(node.body) def visit_Num(self, node): + """Python < 3.14 only""" return self._convert_num(node.n) + def visit_Constant(self, node): + """Python >= 3.14 only""" + if type(node.value) in (float, complex, int): + return self._convert_num(node.value) + else: + raise InvalidNode('illegal constant %s' % node.value) + def visit_Name(self, node): id_ = node.id.lower() if id_ in self._env: