forked from Testudinate/Python
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path26_while_matrix.py
More file actions
27 lines (22 loc) · 1.29 KB
/
26_while_matrix.py
File metadata and controls
27 lines (22 loc) · 1.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Напишите программу, на вход которой подаётся прямоугольная матрица
в виде последовательности строк, заканчивающихся строкой, содержащей
только строку "end" (без кавычек)
Программа должна вывести матрицу того же размера, у которой каждый
элемент в позиции i, j равен сумме элементов первой матрицы на позициях
(i-1, j), (i+1, j), (i, j-1), (i, j+1). У крайних символов соседний
элемент находится с противоположной стороны матрицы.
В случае одной строки/столбца элемент сам себе является соседом
по соответствующему направлению.
n = ''
m = []
while True:
n = str(input()) # ввод строк
if n == 'end':
break
m.append([int(s) for s in n.split()])
li, lj = len(m), len(m[0])
new = [[sum([m[i-1][j], m[(i+1)%li][j], m[i][j-1], m[i][(j+1)%lj]]) for j in range(lj)] for i in range(li)]
for i in range (li):
for j in range (lj):
print(new[i][j], end =' ')
print()