37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
import sys
|
|
|
|
myList = list(list(map(str,s)) for s in sys.stdin.read().splitlines())
|
|
|
|
def if_symbol_adj(l, n, i):
|
|
for m in [n-1, n, n+1]:
|
|
if m < 0 or m > len(l)-1: continue
|
|
for j in [i-1, i, i+1]:
|
|
if j < 0 or j > len(l[m])-1: continue
|
|
if l[m][j] != "." and l[m][j].isdigit() is False:
|
|
return True
|
|
else:
|
|
pass
|
|
return False
|
|
|
|
def main(S = 0):
|
|
# de haut en bas
|
|
for n in range(len(myList)):
|
|
nb = ""
|
|
if_sum = False
|
|
# de gauche à droite
|
|
for i in range(len(myList[n])):
|
|
if myList[n][i].isdigit():
|
|
nb = "".join([nb, myList[n][i]])
|
|
if_sum = if_sum or if_symbol_adj(myList, n, i)
|
|
|
|
if not myList[n][i].isdigit() or i == len(myList[n]) -1:
|
|
# soit pas encore un nombre soit la fin d'un nombre, soit la fin d'une ligne
|
|
#if nb!="": print(nb, if_sum)
|
|
S += (int(nb) if nb != "" and if_sum else 0)
|
|
if_sum = False
|
|
nb = ""
|
|
|
|
return S
|
|
|
|
if __name__ == '__main__':
|
|
print(main()) |