Программа должна вывести матрицу того же размера, у которой каждый элемент в позиции i, j равен сумме элементов первой матрицы на позициях (i-1, j), (i+1, j), (i, j-1), (i, j+1). У крайних символов соседний элемент находится с противоположной стороны матрицы.
В случае одной строки/столбца элемент сам себе является соседом по соответствующему направлению.
m=[] n='' while True: n=str(input()) if n=='end': break else: m.append([int(i) for i in n.split()]) m2 = [[sum([m[i-1][j], m[i+1][j], m[i][j-1], m[i][j+1]]) for j in range(len(m[0]))] for i in range(len(m))]
Как исправить при формировании списка m2 выход за пределы?