# Inlezen hele kaart naar list-of-lists map = [] with open("input.txt", "r") as f: for line in f.readlines(): line = line.strip() map.append(list(line)) HEIGHT = len(map) WIDTH = len(map[0]) def isSymbol(c): # desda karakter geen nummer of punt is return c != '.' and (c < '0' or c > '9') def toevoegen(x, y): # desda (x, y) aangrenzend is aan een symbool for xi in range(x-1, x+2): for yi in range(y-1, y+2): xi = min(max(xi, 0), WIDTH-1) yi = min(max(yi, 0), HEIGHT-1) if isSymbol(map[yi][xi]): return True return False teller = 0 nummer = 0 adding = False for y in range(HEIGHT): for x in range(WIDTH): try: n = int(map[y][x]) nummer *= 10 nummer += n if toevoegen(x, y): adding = True except Exception as e: if adding: teller += nummer adding = False nummer = 0 print(teller)