print("task: 6r\nВставка + и - между цифрами для получения числа N") def generate(s, pos, expr, target, results): if pos == len(s): try: if eval(expr) == target: results.append(expr + "=" + str(target)) except: pass return generate(s, pos + 1, expr + "+" + s[pos], target, results) generate(s, pos + 1, expr + "-" + s[pos], target, results) generate(s, pos + 1, expr + s[pos], target, results) while True: print("\n1 - решить\n0 - выход") try: c = input("Выбор: ") if c == "1": s, target = input("Введите число и N: ").split() target = int(target) results = [] generate(s, 1, s[0], target, results) with open("result.txt", "w") as f: if results: for r in results: print(r) f.write(r + "\n") else: print("Решение не существует") f.write("Решение не существует") elif c == "0": break except: print("Ошибка ввода")