From 2293a52d2a1e7ec5560eef3579f97536d20274b4 Mon Sep 17 00:00:00 2001 From: Lauri Jesmin Date: Sat, 2 Dec 2023 12:15:42 +0200 Subject: [PATCH] Advent 1 --- 1/advent.py | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100755 1/advent.py diff --git a/1/advent.py b/1/advent.py new file mode 100755 index 0000000..7ba7488 --- /dev/null +++ b/1/advent.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python3 + + +def prepareline(line): + number = 1 + for i in ["one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]: + line = line.replace(i, str(number)) + number += 1 + return line + +def findNumber(line): + if line[0].isdigit(): + return line[0] + number = 1 + for i in ["one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]: + if line.startswith(i): + print(f"Leidsin {number}") + return str(number) + number += 1 + return None + +def findNumberReversed(line): + if line[0].isdigit(): + return line[0] + number = 1 + for i in ["one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]: + if line.startswith(i[::-1]): + print(f"Leidsin rev {number}") + return str(number) + number += 1 + return None + + +with open("data.txt") as file: + lines = [line.rstrip() for line in file] + +summa = 0 +for line in lines: + original = line + print(original) + for c in line: + esimeneNumber = "" + number = findNumber(line) + if number is not None: + esimeneNumber = number + break + line = line[1:] + line = original[::-1] + for c in line: + viimaneNumber = "" + number = findNumberReversed(line) + if number is not None: + viimaneNumber = number + break + line = line[1:] + + reaNumber = int(f"{esimeneNumber}{viimaneNumber}") + summa += reaNumber + print(f"Rea number on {reaNumber}") +print(summa)