Задания в pythonchallenge.com: задание 11 (odd even)

pythonchallenge odd even
В одиннадцатом задании видим перед собой какую-то размытую картинку. Что ж, как обычно, начинаем исследовать исходный код страницы.

odd even source
В исходном коде ничего лишнего, только ссылка на картинку и размеры 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()
Bookmark the permalink.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *