Autorské riešenie
[stiahni sprava.py]                                       

  • Počet riešiteľov: 33 / 40 = 83 %

  • Úspešnosť riešenia: 5,27 / 6 = 87,83%                   

Zadanie úlohy nám hovorí veľa o tom, ako odhaliť tajnú správu a úlohou žiakov bolo identifikovať pravidlá, podľa ktorých Cilka ukrýva v texte tajné správy. Vieme tiež, že písmená, číslice a medzery sú dôležité.

Pravidlá:

  • zo slov na nepárnej pozícii vezmeme prvé písmeno, resp. číslicu,

  • zo slov na párnej pozícii vezmeme posledné písmeno, resp. číslicu.

Aby sme mohli odhaliť tajnú správu z textu, musíme najprv odstrániť všetky interpunkčné znamienka. Nestačí sa spoliehať na to, že ak je za slovom interpunkčné znamienko, tak vezmeme predposledný znak. Preto prejdeme znak po znaku a uchovávame si písmena, číslice a medzery. S takto upraveným textom už vieme ľahko pracovať.

Z jednotlivých slov budeme na striedačku brať prvé a posledné znaky. Keďže text obsahuje viac slov, potrebujeme si ho rozdeliť na slová. Potom už stačí cyklom prechádzať cez slová textu a na základe poradia určiť, ktoré písmeno (číslicu) vezmeme.

def najdi_spravu(text):
    cisty_text = ''
    for znak in text:
        if znak.isalnum() or znak == ' ':
            cisty_text = cisty_text + znak 
    slova = cisty_text.split()
    tajna_sprava = ''
    for i in range(len(slova)):
        if i % 2 == 0:
            tajna_sprava = tajna_sprava + slova[i][0]
        else:
            tajna_sprava = tajna_sprava + slova[i][-1]
    return tajna_sprava

Vaše zaujímavé riešenia a najčastejšie chyby

Viacerým z vás sa podarilo úlohu vyriešiť. Nemali ste problém identifikovať, ako vznikne tajná správa. Veľkým riešiteľom blahoželáme. :)

Najčastejšou chybou bolo, že ste neodstránili interpunkčné znamienka. Ošetrili ste len prípad, kedy je jedno znamienko pred alebo za slovom. Ak sa v texte vyskytovalo viac interpunkčných znamienok za sebou, nedostali sme korektný výsledok.