You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
915 B
32 lines
915 B
12 months ago
|
lines = [i for i in open("input.txt", 'r').read().splitlines()]
|
||
|
|
||
|
sum = 0
|
||
|
words = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
|
||
|
|
||
|
for l in lines:
|
||
|
first = ""
|
||
|
firstFound = False
|
||
|
last = ""
|
||
|
lastFound = False
|
||
|
n = len(l)
|
||
|
for i in range(n):
|
||
|
if not firstFound and l[i].isnumeric():
|
||
|
first = l[i]
|
||
|
firstFound = True
|
||
|
if not lastFound and l[-i-1].isnumeric():
|
||
|
last = l[-i-1]
|
||
|
lastFound = True
|
||
|
for j in range(len(words)):
|
||
|
m = len(words[j])
|
||
|
if not firstFound and l[i:i+m] == words[j]:
|
||
|
first = str(j)
|
||
|
firstFound = True
|
||
|
if not lastFound and l[-(i+m):n-i] == words[j]:
|
||
|
last = str(j)
|
||
|
lastFound = True
|
||
|
if firstFound and lastFound:
|
||
|
break
|
||
|
s = first + last
|
||
|
sum += int(s)
|
||
|
|
||
|
print(sum)
|