Python Challenge – #02

Drugie zadanie

adreshttp://www.pythonchallenge.com/pc/def/ocr.html
tytuł strony: ocr
podpowiedź:

recognize the characters. maybe they are in the book,
but MAYBE they are in the page source.

rozwiązanie:
zaglądam do kodu strony i znajduję tam mnóstwo dziwnych znaków i polecenie:

<!-- find rare characters in the mess below: -->

<!-- %%$@_$^__#)^)&!_+]!*@&^}@[@%]()%+$&[(_@%+%$*^@$^!+]!&_#)_*}  }}!}_]$[%}@[{_@#_^{*@##&{#&{&)*%(]{{([*}@[@&]+!!*{)!}{%+{))])[!^} )+)$]#{*+^((@^@}$[**$&^{$!@#$%)!@(&+^!{%_$&@^!}$_${)$_#)!({@!)(^} !*^&!$%_&&}&_#&@{)]{+)%*{&*%*&@%$+]!*__(#!*){%&@++!_)  (...) #@}&$[[%]_&$+)$!%{(}$^$}* -->

co to znaczy rzadkie? do sprawdzenia jakie mam znaki w tym bałaganie stworzyłam histogram:


f = open('2.txt', 'r')
histogram = {}
file = f.read()
for char in file:
if char != '\n':
if char in histogram.keys():
histogram[char] += 1
else:
histogram[char] = 1
print histogram

view raw

2.py

hosted with ❤ by GitHub

odpalam:Zaznaczenie_001.png

w wyniku widać, że rzadkie znaki to zwykłe litery alfabetu ukryte pomiędzy różnymi innymi znakami. Skoro już wiadomo czego szukać rozwiązanie zajmie jedną linijkę 😉


import re
print "".join(re.findall(r"[a-z]", file))

view raw

2.py

hosted with ❤ by GitHub

Zaznaczenie_002.png

adres kolejnej zagadki: http://www.pythonchallenge.com/pc/def/equality.html

Skomentuj

Proszę zalogować się jedną z tych metod aby dodawać swoje komentarze:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj /  Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj /  Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj /  Zmień )

Połączenie z %s

Ta witryna wykorzystuje usługę Akismet aby zredukować ilość spamu. Dowiedz się w jaki sposób dane w twoich komentarzach są przetwarzane.