用 python 求解方程

Equation Solving with python

有个问题是这样的:

1 X2 X 3 X 4 X 5 X 6 X 7 X 8 X 9 = 1942

X = 必须是 x、+、-、÷ 运算符或什么都不是(89、123 可以是等等)

如何使用 python 解决这个问题?

谢谢。

您可以使用 python

中的 parser 模块
import parser
formula = "1 + 2 + 3 + 4 + 5 * 6 * 7 * 8 * 9"
code = parser.expr(formula).compile()
print eval(code)

你可以这样开始:

from itertools import product
target = 1942
test_str = "1{0[0]}2{0[1]}3{0[2]}4{0[3]}5{0[4]}6{0[5]}7{0[6]}8{0[7]}9"
for a in product(["*", "", "+", "/", "-", ""], repeat=8): # Iterate all posibilites
  result_str = test_str.format(a)
  if eval(result_str) == target:
    print(result_str)
    break

并优化并使其更易于扩展到更多数字。但是对于您的特定问题,这很好用。我找到了这个解决方案:

1*2/3+4*56*78/9

如果需要更多信息,请查看 eval