Python Challenge Level 5 Raiders: пик ада

Python Challenge Level 5 Raiders



Python Challenge Первый 5 Руководство по стратегии: пик ад


Титульный адрес
http://www.pythonchallenge.com/pc/def/peak.html


Содержание темы

произнести это




Решение проблемы



Этот вопрос сложный и сложный для людей, для которых английский не является родным.



  • Заголовок страницы peak hell
  • На картинке гора, т.е. peak
  • Подсказки по тексту страницы pronounce it , Давай прочитаем это

Положите peak hell Продолжайте читать и обнаружите, что произношение очень похоже Python Встроенный модуль pickle
Посмотрите так же, проверьте исходный код веб-страницы и найдите комментарий:

Также напоминание pickle Информация для этого модуля.
Еще интересно то, что есть HTML Нетрадиционные теги на веб-страницах, а именно。
Посмотреть banner.p Файл оказался искаженным, предполагая, что его следует использовать pickle Файлы, хранящиеся в модуле.
Загрузите файл ниже, загрузите и распечатайте его.

from urllib.request import urlretrieve import pickle url = 'http://www.pythonchallenge.com/pc/def/banner.p' urlretrieve(url, filename = 'level5.pkl') with open('level5.pkl', 'rb') as fp: result = pickle.load(fp) print(result)

Распечатка представляет собой список с вложенными списками, а самый внутренний слой - это кортеж.
Первый элемент выглядит так: [(' ', 95)]
Второй элемент выглядит так: [(' ', 14), ('#', 5), (' ', 70), ('#', 5), (' ', 1)]
Третий элемент выглядит так: [(' ', 15), ('#', 4), (' ', 71), ('#', 4), (' ', 1)]
обнаружил, что в сумме номера каждого элемента равны 95 , Lenovo Это может быть матрица, число представляет собой количество повторений предыдущего одиночного символа.
Также обратите внимание на banner Это само по себе означает баннеры и картинки.
Итак, измените программу следующим образом, распечатайте ее циклически banner.p Содержимое внутри:



from urllib.request import urlretrieve import pickle url = 'http://www.pythonchallenge.com/pc/def/banner.p' urlretrieve(url, filename = 'level5.pkl') with open('level5.pkl', 'rb') as fp: result = pickle.load(fp) for i in result: for j in i: print(j[0] * j[1], end = '') print(' ')

Получите рисунок персонажа, на котором написано channel

Изменить URL Обращайтесь, войдите на следующий уровень:
http://www.pythonchallenge.com/pc/def/channel.html