Форум сайта python.su
Напишите программу, на вход которой подаётся прямоугольная матрица в виде последовательности строк, заканчивающихся строкой, содержащей только строку “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))]
Отредактировано pavel13079 (Март 7, 2020 13:45:24)
Офлайн