Nadszedł czas na kolejną zagadkę. Tym razem zamiast uwalniać więźniów, mierzyć prędkości koni czy też pstrykać przełącznikami, zerkniemy sobie na pewną tajemniczą funkcję.
Zagadka brzmi: co robi poniższa funkcja?
Pytanie bonusowe: dlaczego poniższa funkcja działa poprawnie?
(kod jest w Pythonie, co zresztą wynika z tytułu dzisiejszego wpisu)
# POCZĄTEK KODU import re def funkcja_zagadka(n): return not re.match(r'^.?$|^(..+?)\1+$', '1' * n) # KONIEC KODU
Jeżeli ktoś szuka podpowiedzi, to mogę udzielić takiej oto: powyższa funkcja – gdyby ją przełożyć na język zbieraczy jagód – jest odpowiednikiem gościa, który z zawiązanymi oczyma i ostrym atakiem sraczki zbiera jagody za pomocą koparki przemysłowej z zaprzężonymi do niej dzikimi wielbłądami. Gdyby istniały rankingi najgorszych sposobów zbierania jagód, facet nie miałby sobie równych 😉
Ale w końcu, po dłuższym czasie, nazbierałby tych jagód pełen koszyczek, prawda? A więc metoda działa.
Powyższa funkcja też działa.
Co więc ona robi i dlaczego?
Miłego główkowania!
(jeżeli nie chce Ci się kombinować samodzielnie, nie szukaj proszę odpowiedzi na Google – daj szansę innym!)
Jeżeli ktoś szuka podpowiedzi, to mogę udzielić takiej oto: powyższa funkcja – gdyby ją przełożyć na język zbieraczy jagód – jest odpowiednikiem gościa, który z zawiązanymi oczyma i ostrym atakiem sraczki zbiera jagody za pomocą koparki przemysłowej z zaprzężonymi do niej dzikimi wielbłądami. Gdyby istniały rankingi najgorszych sposobów zbierania jagód, facet nie miałby sobie równych 😉
Ale w końcu, po dłuższym czasie, nazbierałby tych jagód pełen koszyczek, prawda? A więc metoda działa.
Powyższa funkcja też działa.
Co więc ona robi i dlaczego?
Miłego główkowania!
(jeżeli nie chce Ci się kombinować samodzielnie, nie szukaj proszę odpowiedzi na Google – daj szansę innym!)