Уведомления

Группа в Telegram: @pythonsu

#1 Март 7, 2020 13:39:07

pavel13079
Зарегистрирован: 2020-02-26
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

списки и циклы

Напишите программу, на вход которой подаётся прямоугольная матрица в виде последовательности строк, заканчивающихся строкой, содержащей только строку “end” (без кавычек)

Программа должна вывести матрицу того же размера, у которой каждый элемент в позиции 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 выход за пределы?

Отредактировано pavel13079 (Март 7, 2020 13:45:24)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version