Files
AdventOfCode2023/03/03-1.py
2023-12-05 20:01:21 +01:00

66 lines
1.6 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
part_sum = 0
matrix = []
input_file = open("input-ex.txt", "r")
for line in input_file:
matrix.append(line.strip())
input_file.close()
zeilen = len(matrix)
spalten = len(matrix[0])
num_list = []
for z in range(zeilen):
pre_is_num = False
num_start, num_end = 0, 0
num = ""
for s in range(spalten):
if matrix[z][s].isdigit() and s == spalten - 1:
num += matrix[z][s]
if num_start == 0:
num_start = s
num_end = s
num_list.append([int(num), z, num_start, num_end])
elif pre_is_num and not matrix[z][s].isdigit():
num_end = s - 1
num_list.append([int(num), z, num_start, num_end])
pre_is_num = False
elif not pre_is_num and matrix[z][s].isdigit():
num = matrix[z][s]
num_start = s
pre_is_num = True
elif pre_is_num:
num += matrix[z][s]
for nu in num_list:
ist_teil = False
for z in range(nu[1]-1, nu[1]+2):
for s in range(nu[2]-1, nu[3]+2):
try:
if matrix[z][s] != "." and not matrix[z][s].isdigit():
ist_teil = True
except IndexError:
pass
if ist_teil:
part_sum += nu[0]
# ######### AUSGABE #########################################################
# Matrix-Ausgabe
for x in matrix:
print(x)
print()
print(f"Zeilen: {zeilen}")
print(f"Spalten: {spalten}")
print()
# num_list ausgabe
for n in num_list:
print(n)
# Solution:
print(f"Lösung: {part_sum}")