Rešitve s komentarji
Izpit je bil ... res lahek.
Ujeme
Ujeme so nekoliko spominjale na vislice. Tule je preprosta rešitev.
Tipična napaka, ki ste jo delali, je, da niste upoštevali, da je lahko druga beseda krajša od prve in ste pisali for i in range(len(b1))
ali kaj podobnega, kar je v tem primeru povzročilo napako pri indeksiranju.
Še preprosteje je, če uporabimo zip
, ki nas reši skrbi glede dolžine nizov.
Če znamo uporabiti if-else (kar naj bi sodilo v "osnovni repertoar", saj ste se tudi pri C-ju gotovo učili operatorja ?:
), lahko napišemo takole.
Odtod pa nas loči le še droben korak do preproste rešitve v eni sami vrstici.
Grep
Tale je bila pravzaprav še lažja.
Tole seveda kar kliče po krajši rešitvi.
Bralca bratca
Tale je bila zoprna, če ste jo želeli rešiti povsem prav - tako, da pravilno deluje na vseh testnih primerih. Problem je namreč srednja knjiga: eden od bratcev bo prebral več in "vmesno" knjigo naj vzame tisti, ki bo prebral "manj več". Spodnja rešitev deluje tako, da peter zgrabi naslednjo knjigo samo, če ga branje polovice te knjige ne bo pripeljalo čez polovico vseh knjig. Izkaže se, da to da pravilno rešitev.
Tokrat dve rešitvi v eni vrstici:
Tale pa deluje hitrejše: ko boste odposlušali APS 1 in 2, boste razumeli, zakaj.
Ploščina
Ta je pravzaprav najpreprostejša od vseh ... le, da je večina pozabila na zadnji člen! Nekateri - redki - ste se ga spomnili, a ga obravnavali posebej. V resnici pa v Pythonu niti to ni potrebno: tale funkcija deluje povsem pravilno, le da zadnji člen postavi na začetek (kar je seveda OK)
Taisto v eni vrstici ni nič zahtevnega.