Nájdeš v pythone najdlhšie slovo zo zoznamu?

slova = [
"auto", "dom", "stôl", "žena", "muž", "strom", "pes", "mačka", "voda", "slnko",
"mesiac", "dážď", "vietor", "nebo", "cesta", "mesto", "dedina", "škola", "učiteľ", "žiak",
"okno", "dvere", "papier", "pero", "kniha", "strom", "hora", "lúka", "rieka", "jazero",
"pole", "vlak", "autobus", "lietadlo", "most", "ulica", "chodník", "tráva", "zem", "oblaky",
"čas", "rok", "deň", "noc", "ráno", "obed", "večer", "jedlo", "voda", "mlieko",
"chlieb", "maslo", "soľ", "cukor", "ovocie", "zelenina", "jablko", "hruška", "banán", "zemiak",
"mrkva", "cibuľa", "múka", "vajce", "mäso", "ryba", "hrniec", "tanier", "lyžica", "vidlička",
"kameň", "piesok", "drevo", "kov", "plášť", "kabát", "košeľa", "nohavice", "čižmy", "topánky",
"kabelka", "batoh", "kvet", "ruža", "lístok", "trávnik", "včela", "motýľ", "vták", "medveď",
"hviezda", "planéta", "svetlo", "tma", "farba", "modrá", "červená", "zelená", "biela", "čierna"
]
Tvoja úloha:
-Prejdi zoznam pomocou for cyklu.
-Nájdite najdlhšie slovo (to, ktoré má najviac znakov).
-Ulož ho do premennej najdlhsie_slovo.
-Program na konci vypíše:
Najdlhšie slovo je: programovanie

2 odpovede
# 1. Vytvoríme si premennú pre najdlhšie slovo (najdlhsie_slovo) a na začiatku ju nastavíme na prázdny reťazec;

najdlhsie_slovo = ""

# 2. vytvoríme cyklus 'for'

for slovo in slova:

# 3. Kontrola dĺžky
# Ak je dĺžka aktuálneho slova (len(slovo)) väčšia ako dĺžka doteraz nájdeného najdlhšieho slova, aktualizujeme premennú.

if len(slovo) > len(najdlhsie_slovo):
najdlhsie_slovo = slovo

# 4:
print(f"Najdlhšie slovo je: {najdlhsie_slovo}")


Len v tomto prípade, by vám to vytlačilo ako najdlhšie slovo “nohavice” lebo je posledné, ktoré má 8 znakov (maximum znakov vo vašom zozname). A tých najdlhších slov (s 8 znakmi) je tam viac - tak ukáže posledné…Neviem či je to preklep a zabudli ste dať do zoznamu slovo “programovanie”, alebo je to dáky pokus o chyták učiteľa… ale každopádne, keby tam slovo programovanie bolo, tak by bolo vyhodnotené ako najdlhšie :)

Čiže:

slova = [
"auto", "dom", "stôl", "žena", "muž", "strom", "pes", "mačka", "voda", "slnko",
"mesiac", "dážď", "vietor", "nebo", "cesta", "mesto", "dedina", "škola", "učiteľ", "žiak",
"okno", "dvere", "papier", "pero", "kniha", "strom", "hora", "lúka", "rieka", "jazero",
"pole", "vlak", "autobus", "lietadlo", "most", "ulica", "chodník", "tráva", "zem", "oblaky",
"čas", "rok", "deň", "noc", "ráno", "obed", "večer", "jedlo", "voda", "mlieko",
"chlieb", "maslo", "soľ", "cukor", "ovocie", "zelenina", "jablko", "hruška", "banán", "zemiak",
"mrkva", "cibuľa", "múka", "vajce", "mäso", "ryba", "hrniec", "tanier", "lyžica", "vidlička",
"kameň", "piesok", "drevo", "kov", "plášť", "kabát", "košeľa", "nohavice", "čižmy", "topánky",
"kabelka", "batoh", "kvet", "ruža", "lístok", "trávnik", "včela", "motýľ", "vták", "medveď",
"hviezda", "planéta", "svetlo", "tma", "farba", "modrá", "červená", "zelená", "biela", "čierna", “programovanie”
]

najdlhsie_slovo = “”

for slovo in slova:
if len(slovo) > len(najdlhsie_slovo):
najdlhsie_slovo = slovo

print(f"Najdlhšie slovo je: {najdlhsie_slovo}")

Doplnila som do zoznamu slovo programovanie.

Ak niečomu nerozumiete, pýtajte sa, vysvetlila som to len stručne - neviem na akej úrovni chápania Pythonu ste, kľudne dovysvetlím. :)
najdlhsie_slovo = max(slova, key = len)
Všade, kde to ide, treba používať uzavreté cykly namiesto nahého for.