From a22eae433f792d27f5013711d340ebc52acd9180 Mon Sep 17 00:00:00 2001 From: Matthias Puchstein Date: Thu, 4 Jan 2024 23:28:00 +0100 Subject: [PATCH] solution 03p1 --- 03/03p1.py | 59 ++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 53 insertions(+), 6 deletions(-) diff --git a/03/03p1.py b/03/03p1.py index 20796fd..108685c 100755 --- a/03/03p1.py +++ b/03/03p1.py @@ -1,7 +1,7 @@ #!/usr/bin/python sol = 0 -inputfile = open("inputtest.txt", "r") +inputfile = open("input.txt", "r") lines = inputfile.readlines() nums = {} syms = {} @@ -28,17 +28,64 @@ for line in range(len(lines)): nums[line] = linenumdict syms[line] = linesymdict for ykey in nums: - for xkey in nums[ykey].keys(): + for xkey in nums[ykey]: hasNeigh= False startx = xkey - 1 - endx = xkey + len(nums[ykey][xkey]) + 1 + endx = xkey + len(nums[ykey][xkey]) starty = ykey - 1 endy = ykey + 1 - for y in range(starty, endy): + for y in range(starty, endy + 1): if y in syms: - for x in range(startx, endx): + for x in range(startx, endx + 1): if x in syms[y].keys(): - hasNeigh = True + print(nums[ykey][xkey] + 'has Neigh: ' + syms[y][x]) + hasNeigh = True if hasNeigh: sol += int(nums[ykey][xkey]) print(sol) +#sometest: +lineno = 0 +for line in lines: + line = line.replace('*', '.') + line = line.replace('=', '.') + line = line.replace('+', '.') + line = line.replace('%', '.') + line = line.replace('$', '.') + line = line.replace('#', '.') + line = line.replace('-', '.') + line = line.replace('&', '.') + line = line.replace('@', '.') + line = line.replace('/', '.') + while not line.find('..') < 0: + line = line.replace('..', '.') + line = line.replace('.', ' ') + line = line.replace('\n', '') + line = line.lstrip() + listnum = line.split() + diff = len(listnum)-len(nums[lineno]) + if diff != 0: + print(diff) + lineno += 1 + +lineno = 0 +for line in lines: + line = line.replace('1', '.') + line = line.replace('2', '.') + line = line.replace('3', '.') + line = line.replace('4', '.') + line = line.replace('5', '.') + line = line.replace('6', '.') + line = line.replace('7', '.') + line = line.replace('8', '.') + line = line.replace('9', '.') + line = line.replace('0', '.') + while not line.find('..') < 0: + line = line.replace('..', '.') + line = line.replace('.', ' ') + line = line.replace('\n', '') + line = line.lstrip() + listnum = line.split() + diff = len(listnum)-len(syms[lineno]) + if diff != 0: + print(diff) + lineno += 1