Problem p03574 (python)

Fixed submission:
h,w=map(int,input().split())
s=[input() for _ in range(h)]
for i in range(h):
    l = ''
    for j in range(w):
        if s[i][j] == '#':
            l += '#'
        else:
            l += str(sum([t[max(0,j-1):min(w,j+2)].count('#') for t in s[max(0,i-1):min(h,i+2)]]))
    print(l)

Buggy submission (verdict: Runtime Error):
h,w = map(int,input().split())
mine_list = [list(input()) for i in range(h)]

for id1 in range(h):
        outcome = ''
        for id2 in range(w):
                if mine_list[id1][id2] == '.':
                        count = 0
                        if id1 == 0:
                                if id2 == 0:
                                        if mine_list[id1][id2+1] == '#':
                                                count += 1
                                        if mine_list[id1+1][id2] == '#':
                                                count += 1
                                        if mine_list[id1+1][id2+1] == '#':
                                                count += 1
                                elif id2 == w-1:
                                        if mine_list[id1][id2-1] == '#':
                                                count += 1
                                        if mine_list[id1+1][id2-1] == '#':
                                                count += 1
                                        if mine_list[id1+1][id2] == '#':
                                                count += 1
                                else:
                                        if mine_list[id1][id2-1] == '#':
                                                count += 1
                                        if mine_list[id1][id2+1] == '#':
                                                count += 1
                                        if mine_list[id1+1][id2-1] == '#':
                                                count += 1
                                        if mine_list[id1+1][id2] == '#':
                                                count += 1
                                        if mine_list[id1+1][id2] == '#':
                                                count += 1
                        elif id1 == h-1:
                                if id2 == 0:
                                        if mine_list[id1-1][id2] == '#':
                                                count += 1
                                        if mine_list[id1-1][id2+1] == '#':
                                                count += 1
                                        if mine_list[id1][id2+1] == '#':
                                                count += 1
                                elif id2 == w-1:
                                        if mine_list[id1-1][id2-1] == '#':
                                                count += 1
                                        if mine_list[id1-1][id2] == '#':
                                                count += 1
                                        if mine_list[id1][id2-1] == '#':
                                                count += 1
                                else:
                                        if mine_list[id1-1][id2-1] == '#':
                                                count += 1
                                        if mine_list[id1-1][id2] == '#':
                                                count += 1
                                        if mine_list[id1-1][id2+1] == '#':
                                                count += 1
                                        if mine_list[id1][id2-1] == '#':
                                                count += 1
                                        if mine_list[id1][id2+1] == '#':
                                                count += 1
                        else:
                                if id2 == 0:
                                        if mine_list[id1-1][id2] == '#':
                                                count += 1
                                        if mine_list[id1-1][id2+1] == '#':
                                                count += 1
                                        if mine_list[id1][id2+1] == '#':
                                                count += 1
                                        if mine_list[id1+1][id2] == '#':
                                                count += 1
                                        if mine_list[id1+1][id2+1] == '#':
                                                count += 1
                                elif id2 == w-1:
                                        if mine_list[id1-1][id2-1] == '#':
                                                count += 1
                                        if mine_list[id1-1][id2] == '#':
                                                count += 1
                                        if mine_list[id1][id2-1] == '#':
                                                count += 1
                                        if mine_list[id1+1][id2-1] == '#':
                                                count += 1
                                        if mine_list[id1+1][id2] == '#':
                                                count += 1
                                else:
                                        if mine_list[id1-1][id2-1] == '#':
                                                count += 1
                                        if mine_list[id1-1][id2] == '#':
                                                count += 1
                                        if mine_list[id1-1][id2+1] == '#':
                                                count += 1
                                        if mine_list[id1][id2-1] == '#':
                                                count += 1
                                        if mine_list[id1][id2+1] == '#':
                                                count += 1
                                        if mine_list[id1+1][id2-1] == '#':
                                                count += 1
                                        if mine_list[id1+1][id2] == '#':
                                                count += 1
                                        if mine_list[id1+1][id2+1] == '#':
                                                count += 1
                        outcome += str(count)
                else:
                        outcome += '#'
        print(outcome)