Вы можете начать с чего-то вроде этого:
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
И оптимизировать, и сделать его более расширяемым до большего числа. Но для вашей конкретной проблемы c это работает нормально. Я нашел это решение:
1*2/3+4*56*78/9
Посмотрите на eval
, если вам нужна дополнительная информация.