Как корректно записать данную конструкцию из for?
Есть такая констуркция:
equation = "32 * {} + 33 * {} + 34 * {} + 35 * {} + 36 * {} + 37 * {} + 38 * {} + 39 * {} + 40 * {} + 41 * {}"
for i in range(100):
for x in range(100):
for y in range(100):
for g in range(100):
...
if i + x + y + g + h + f + s + a + q + w <= 98:
eq = equation.format(w, q, a, s, f, h, g, y, x, i)
res = eval(eq)
if res == 8932:
print(f'{eq} = {res}')
Хотелось бы узнать как можно записать такую конструкцию куда проще с возможностью масшабирования.
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Ну как-то так, например. Только при таких вводных окончания процесса ждать можно до конца Вселенной ))
from itertools import product
from tqdm.auto import tqdm
n = 10
equation = ' + '.join(f"{32 + i} * {{}}" for i in range(n))
for numbers in tqdm(product(range(100), repeat=n), total=100**n):
if sum(numbers) <= 98:
eq = equation.format(*numbers)
res = eval(eq)
if res == 8932:
print(f'{eq} = {res}')
Update: Потерял сначала условие на сумму, добавил.