Я начинаю только изучать язык, просьба сильно не пинать, составляю программку для обсчета матрицы
на вход подается произвольных размеров матрица для примера рассматриваю 3х3
1 1 1
2 3 4
4 3 2
на выходе должна получится матрица 3х3 но уже с суммой элементов
matrix[i][j] = m[i - 1][j] + m[i + 1][j] + m[i][j - 1] + m[i][0]
8 8 8
12 10 8
8 10 12
написан код:
m = []
z = []
while True:
lst = [str(i) for i in input().split()]
if lst[0] == 'end':#выход из ввода end
break
m.append(lst)
for i in range(len(m)): #преобразование значений матрицы из str в int
for j in range(len(m[0])):
m[i][j] = int(m[i][j])
print(m[i][j], end=' ')#промежуточный вывод значений матрицы
print()
g = len(m[0]) # определяем кол-во столбцов
v = len(m) # определяем кол-во строк
#print(g)
#print(v)
for i in range(g):
for j in range(v):
if i == g and j != v: # обход последней строки до предпоследнего символа
z[i][j] = m[i - 1][j] + m[0][j] + m[i][j - 1] + m[i][j + 1]
if j == v and i != g: #обход последнего столбца до предпоследнего символа
z[i][j] = m[i - 1][j] + m[i + 1][j] + m[i][j - 1] + m[i][0]
if i == g and j == v: #последний символ в строке/столбце
z[i][j] = m[i - 1][j] + m[0][j] + m[i][j - 1] + m[i][0]
if i!=g and j!=v: #обсчет всего остального
z[i][j] = m[i - 1][j] + m[i + 1][j] + m[i][j - 1] + m[i][j + 1] #тут вылетает с index out of range, не могу понять почему
print(z[i][j], end=' ') #вывод матрицы построчно
print()