Files
Advent2023/1/advent.py

61 lines
1.5 KiB
Python
Raw Normal View History

2023-12-02 12:15:42 +02:00
#!/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)