Na redu je Level 3. Uputa na stranici govori da pronađem slovo sa tri velika bodyguarda sa svake strane. Pretpostavljam da bi to trebalo biti u stilu xXXXxXXXx. Također naslov sitea upućuje na modul re i korištenje regularnih izraza pri rješavanju ovog problema.
U duhu prethodnog koraka otvaram source kod stranice i pronalazim niz podataka koje zbog jednostavnosti spremam u level3.data i započinjem obradu podataka. Obrada se temelji na pronalasku gore opisanog uzorka. Mali trik u ovom rješavanju je kako od arraya znakova dobiti string. To se postiže slaganjem arraya sa vezivom tipa ''. U rješenju je vidljiv taj trik. Također je potrebno primijetiti da se koristi standardna sintaksa za opis regularnih izraza. Zagradama (nekiIzraz) se vraća rezultat izraza u povratnu vrijednost funkcije.
Kod:
# ukljuci modul re
import re
# otvori datoteku s podatcima
src = open('level3.data').read()
# pretrazi podatke za uzorkom i spoji rezultate
rez = ''.join(re.findall('[^A-Z][A-Z]{3}([a-z])[A-Z]{3}[^A-Z]',src))
# ispisi rezultat
print(rez)
Rezultat je programa string 'linkedlist'. Što nas upućuje na sljedeći nivo - Level 4.
P.S. Pri instalaciji Pyhtona na Windowse, ako ga automatski ne doda u PATH varijablu, napravite ovo.