В одиннадцатом задании видим перед собой какую-то размытую картинку. Что ж, как обычно, начинаем исследовать исходный код страницы.
В исходном коде ничего лишнего, только ссылка на картинку и размеры 640 на 480 пикселей. Заголовок в переводе на русский означает: «не чётное, чётное». Скачав изображение и открыв в графическом редакторе можно увидеть, что пиксели чередуются.
Я попробовал убрать всё чёрные пиксели и вот, что получилось:
То есть ничего вразумительного не распознать.
В таком случае пробую убрать все не чёрные пиксели и тут уже получаю кодовое слово для прохождения на следующее задание.
А вот и текст моего решения:
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 28 | from PIL import Image from requests import get url = 'http://www.pythonchallenge.com/pc/return/cave.jpg' response = get(url, auth=('huge', 'file'), stream=True) img = Image.open(response.raw) width, height = img.size px = img.load() n_px = [] for col in range(width): r = [] start_row = 1 if col % 2 == 0: start_row = 0 for row in range(start_row, height, 2): r.append(px[col, row]) n_px.append(r) new_img = Image.new('RGB', (640, 240)) for col in range(640): for row in range(240): new_img.putpixel((col, row), n_px[col][row]) new_img.show() |
from PIL import Image from requests import get url = 'http://www.pythonchallenge.com/pc/return/cave.jpg' response = get(url, auth=('huge', 'file'), stream=True) img = Image.open(response.raw) width, height = img.size px = img.load() n_px = [] for col in range(width): r = [] start_row = 1 if col % 2 == 0: start_row = 0 for row in range(start_row, height, 2): r.append(px[col, row]) n_px.append(r) new_img = Image.new('RGB', (640, 240)) for col in range(640): for row in range(240): new_img.putpixel((col, row), n_px[col][row]) new_img.show()