a.py (443B)
1 import fileinput 2 3 def neigh(a, i, j): 4 return [ 5 a[i-1][j-1], a[i-1][j], a[i-1][j+1], 6 a[i][j-1], a[i][j+1], 7 a[i+1][j-1], a[i+1][j], a[i+1][j+1], 8 ].count('@') 9 10 with fileinput.input() as lines: 11 a = [ 12 ['.'] * 200, 13 *[['.'] + list(line.replace('\n', '.')) for line in lines], 14 ['.'] * 200, 15 ] 16 17 s = 0 18 for i in range(1,len(a)-1): 19 for j in range(1,len(a[1])-1): 20 if a[i][j] == '@' and neigh(a, i, j) < 4: 21 s += 1 22 print(s)