Hledání v seznamu: in

Je jméno na seznamu hostů? Je na nákupním seznamu mléko? Na takové otázky odpovídá operátor in (anglicky „v“). hodnota in seznam je True, pokud seznam hodnotu obsahuje, a False, pokud ne:

hoste = ["Anna", "Tomáš", "Lucie"]
print("Tomáš" in hoste)
print("Pavel" in hoste)

Program vypíše:

True
False

Booleovská hodnota je přesně to, co potřebuje podmínka, a proto se in nejčastěji používá s if:

hoste = ["Anna", "Tomáš", "Lucie"]
navstevnik = "Tomáš"
if navstevnik in hoste:
    print("Pojďte dál!")
else:
    print("Bohužel nejste na seznamu.")

Program vypíše:

Pojďte dál!

Opakem je not in: hodnota not in seznam je True, když hodnota v seznamu není. Hodí se třeba k tomu, abyste něco přidali jen tehdy, když to v seznamu ještě není:

nakup = ["mléko", "chleba"]
polozka = "vejce"
if polozka not in nakup:
    nakup.append(polozka)
print(nakup)

Program vypíše:

['mléko', 'chleba', 'vejce']

Pomocí in se také vyhnete chybě ValueError z minulého cvičení. Když před nakup.remove("máslo") napíšete if "máslo" in nakup:, hodnota se odebere, jen když v seznamu je.

Stejně jako == porovnává i in přesně: "tomáš" in hoste je False, protože "tomáš" s malým t není stejný text jako "Tomáš".

Pokyny

Napište příkaz if s podmínkou navstevnik in hoste, který vypíše Pojďte dál! Lucie na seznamu je, takže program tento text vypíše.

Přidejte větev else, která vypíše Bohužel nejste na seznamu. Potom změňte hodnotu proměnné navstevnik na "Pavel" (na řádku navstevnik = "Lucie"). Pavel na seznamu není, takže by teď program měl vypsat Bohužel nejste na seznamu.

Začněte programovat zdarma

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

9/12