Задачу про поворот изображения верно решили:
— @Cheshir78;
— @ipipe_host;
— @savelevgeo;
— @vsugoyak;
— Cool and Fun Python (@Python3k).
Кратчайшие верные решения предложили @Cheshir78:
def flip(image):
return [[1 - x for x in row[::-1]] for row in image]
и @ipipe_host:
def flip(image):
return [[abs(j - 1) for j in i[::-1]] for i in image]
Отдельный респект @Python3k за решение, которое понятно на любом уровне Py-знания:
def flip(image: list[list[int]]) -> list[list[int]]:
"""Поворот изображения."""
n = len(image)
for row in image:
row.reverse()
for i in range(n):
row[i] = 1 - row[i]
return image
# пример работы
image = [[1,1,0,0],[1,0,0,1],[0,1,1,1],[1,0,1,0]]
flipped_image = flip(image)
for row in flipped_image:
print(row)
#задача
@zen_of_python