From edc1248991c8216bf2cdae6d5c9fec20c1d56cb3 Mon Sep 17 00:00:00 2001 From: tebarius Date: Sun, 10 Dec 2023 10:19:16 +0100 Subject: [PATCH] 10-Anfang --- 10/10-1.py | 40 +++++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/10/10-1.py b/10/10-1.py index 61b434c..3ea92c6 100644 --- a/10/10-1.py +++ b/10/10-1.py @@ -5,7 +5,7 @@ part_sum = 0 matrix = [] # read matrix like day 3 -input_file = open("input-ex11", "r") +input_file = open("input", "r") for line in input_file: matrix.append(line.strip()) input_file.close() @@ -13,12 +13,38 @@ input_file.close() zeilen = len(matrix) spalten = len(matrix[0]) -start = [] +# Ausgabe Matrix und Startposition finden for i in range(len(matrix)): if "S" in matrix[i]: - z = i + zs = i print(matrix[i]) -for j in range(len(matrix[z])): - if "S" in matrix[z][j]: - s = j -print(z, s) +for j in range(len(matrix[zs])): + if "S" in matrix[zs][j]: + ss = j +print() +print(f"Startposition: {zs}, {ss}") + +# +def where_to_go(z, s, prev): + try: + if [z, s] != prev and (matrix[z-1][s] == "F" or matrix[z-1][s] == "7" or matrix[z-1][s] == "|"): + return z-1, s + except IndexError: + pass + try: + if [z, s] != prev and (matrix[z+1][s] == "L" or matrix[z+1][s] == "J" or matrix[z-1][s] == "|"): + return z+1, s + except IndexError: + pass + try: + if [z, s] != prev and (matrix[z][s+1] == "J" or matrix[z][s+1] == "7"): + return z, s+1 + except IndexError: + pass + try: + if [z, s] != prev and (matrix[z][s-1] == "F" or matrix[z][s-1] == "L"): + return z, s-1 + except IndexError: + pass + +print(where_to_go(1,1,[]))