Advent of code

 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
   
+   *    *    +   * 
  1. code.py
  2. 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)