Zpracování odpovědí od uživatele

Zpracování odpovědi uživatele je tak trošku alchymie, protože ten může zadat cokoli si zamane a program by do jisté míry měl umět jeho zadání zpracovat. Nicméně není třeba počítat opravdu se všemi eventualitami.

In [ ]:
def odpoved_uzivatele(odpoved):
    if odpoved == 'ano' or odpoved == 'ano'[0] or odpoved == 'ano'.upper() or odpoved == 'ano'.lower() or odpoved == ' ano '.strip():
        return True
    elif odpoved == 'ne' or odpoved == 'ne'[0] or odpoved == 'ne'.upper() or odpoved == 'ne'.lower() or odpoved == ' ne '.strip():
        return False

Stačilo by upravit odpověď uživatele a odstranit z ní možné záludnosti a pak ji teprve porovnávat.

In [ ]:
def odpoved_uzivatele(odpoved):
    odpoved = odpoved.strip()  # Odstranime mozne mezery ze zacatku i z konce odpovedi
    odpoved = odpoved.lower()  # Prevedeme na mala pismena
    if odpoved == 'ano' or odpoved == 'a':
        return True
    elif odpoved == 'ne' or odpoved == 'n':
        return False

Písmeno "k" v textu písně

K tomuto účastnice napsala, že takovéto vypracování nefunguje, pokud píseň začíná písmenem "k". Uhádneš proč se jí to takto chovalo?

In [ ]:
text = """My girl, my girl, don't lie to me,
Tell me where did you sleep last night.
In the pines, in the pines,
Where the sun don't ever shine.
I would shiver the whole night through..."""
print ("Písmeno k je v textu použito",text.count("k"),"krát.")

Tipni příjmení

Je v tomto příkladu něco, co by se dalo napsat lépe a tím kód udělat přehlednější?

In [ ]:
prijmeni = input('Zadej příjmení ')
if ('ová' in prijmeni) == True:
    print ('žena')
else:
    print ('muž')

Obecné rady a doporučení

  • Domácí projekt odevzdaly do pondělních osmnácti hodin jen čtyři účastnice
  • Pokud je nebudete dělat, nemůžete úspěšně absolvovat kurz
  • Připravit kvalitní feedback pár hodin před kurzem je nemožné (tento dělám místo oběda na školení hasičů)
  • Pokud potřebujete akutní pomoc, nepište to do komentářů, ale napište email přímo některému z koučů