◂ 6 décembre 2025 ▸
Trash Compactor : Faire des sommes ou des produits selon une liste, mais avec parsing par colonne de nombre (partie 1) ou de chiffre (partie 2) de l'input
836 7512 183 … 3 43
183 685 317 … 979 57
26 319 36 … 813 49
22 51 63 … 849 51
+ * * … + *
- code.py
- dict_fonctions.diffy
from math import prod
lines = []
with open('input.txt', 'r', encoding='utf-8') as f:
for line in f:
lines.append(line[:-1])
### Partie 1 ####
tokens = [line.split() for line in lines[:-1]]
operators = lines[-1].split()
rep1 = 0
for i, operator in enumerate(operators):
operation_values = [int(line[i]) for line in tokens]
if operator == '+':
rep1 += sum(operation_values)
else:
rep1 += prod(operation_values)
print("Réponse partie 1:", rep1)
### Partie 2 ####
cols = [ [line[i] for line in lines] for i in range(len(lines[0]))]
rep2 = 0
operation_values = []
for i, col in enumerate(reversed(cols)):
digits, operator = col[:-1], col[-1]
if str_digits := ''.join(digits).strip():
operation_values.append(int(str_digits))
if operator != ' ':
if operator == '+':
rep2 += sum(operation_values)
else:
rep2 += prod(operation_values)
operation_values=[]
print("Réponse partie 2:", rep2)