【发布时间】:2019-10-08 09:56:23
【问题描述】:
我有一个很长的代码,例如 545362783,并且想将包含的数字相加并相乘,例如 (1*5)+(2*4)+(3*5)+(4*3)+(5*6) 等。
是否有一个简单的解决方案可以将它们作为整数,以便我可以在数学中使用它们。 非常感谢!
【问题讨论】:
-
有一个简单的解决方案,但它并不可靠。为了使其健壮,您可能需要一个解析器。你可以使用 Python 的
ast模块,但它不仅仅解析数学:>>> ast.dump(ast.parse('(1 + 2) + (3 + 4)'))会给你一个解析的表达式:'Module(body=[Expr(value=BinOp(left=BinOp(left=Num(n=1), op=Add(), right=Num(n=2)), op=Add(), right=BinOp(left=Num(n=3), op=Add(), right=Num(n=4))))])' -
您好,欢迎加入 StackOverflow。由于您的问题通常很清楚,因此一个更有条理的问题,尤其是一个易于复制的示例会很有帮助。
标签: python-3.x