Advent 1
This commit is contained in:
60
1/advent.py
Executable file
60
1/advent.py
Executable file
@@ -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)
|
||||
Reference in New Issue
Block a user