61 lines
1.5 KiB
Python
61 lines
1.5 KiB
Python
|
|
#!/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)
|