82_HANGZÁS

82_HANGZÁS

def hangrend(szo):

""" Meghatározza egy szó hangrendjét. """

mely = "aou"

magas = "ei"

p = False # Mely magánhangzó van-e a szóban?

q = False # Magas magánhangzó van-e a szóban?

for kar in szo:

     if kar in mely:

          p = True

    if kar in magas:

         q = True

if p and q:

   return "Vegyes"

elif p:

     return "Mély"

elif q:

     return "Magas"

else:

    return "Ismeretlen"

# Teszteljük a függvényt

szo = "kerekeskut"

print(hangrend(szo))

Mit csinál a program?

A p és q változókat bool típusúvá teszi, így nincs szükség >=0 ellenőrzésre.

A for ciklus közvetlenül a szó karakterein iterál (for kar in szo:), így nincs szükség substr() használatára.

A len() függvényt alkalmazza 

Függvénybe szervezi a logikát, hogy könnyebben használható és újrahasznosítható legyen.

Példa kimenet:

Mély

Mivel a "kerekeskut" szó mély és magas magánhangzókat is tartalmaz, az eredmény "Vegyes" lesz.

Ha például a "tó" szót adjuk meg:

print(hangrend("tó"))

A kimenet:

Mély

Ha "kert" a bemenet:

print(hangrend("kert"))

A kimenet:

Magas

Ha nincs magánhangzó (pl. "krk"):

print(hangrend("krk"))

A kimenet:

Ismeretlen

A hangrend próbája 

Egy távoli királyságban élt egy bölcs nyelvész, aki minden szót hangrend szerint osztályozott. Az ősi hagyomány szerint a szavak lehettek mély, magas, vagy vegyes hangrendűek.

Egy nap a király elé járult egy ifjú diák, aki meg akarta fejteni a hangrend titkát.

"Mester, hogyan tudom eldönteni, milyen hangrendű egy szó?" – kérdezte.
"Írjunk egy varázslatos pergament, amely automatikusan felismeri a hangrendeket!"

A varázspergamen első sora így kezdődött:

def hangrend(szo):

A mester meghatározta a mély és magas magánhangzókat:

mely = "aáoóuú"

magas = "eéiíöőüű"

p = False # Mely magánhangzó van-e a szóban?

q = False # Magas magánhangzó van-e a szóban?

"Hogyan ellenőrizzük a szó minden egyes betűjét?" – kérdezte a diák.

for kar in szo:

Ha a betű egy mély magánhangzó, kapcsolja be a mély jelzőt!

    if kar in mely:

        p = True

Ha pedig magas magánhangzó, akkor a magas jelzőt!

     if kar in magas:

        q = True

Most jött a varázslat legfontosabb része: a döntés!

if p and q:

    return "Vegyes"

elif p:

     return "Mély"

elif q:

     return "Magas"

else:

     return "Ismeretlen"

"Most már készen van! De hogyan próbálhatjuk ki?"
"Adjunk meg egy szót és nézzük meg, mit mond róla a pergamen!"

# Teszteljük a függvényt

szo = "kerekeskut"print(hangrend(szo))

A pergamen világítani kezdett, és megjelent a varázsszó:

Vegyes

A diák boldogan hajolt meg a mester előtt. "Most már én is értem a hangrend varázsát!"

A pergamen azóta is őrzi a titkot, és bárki, aki beír egy szót, megtudhatja annak hangre

Készítsd el weboldaladat ingyen! Ez a weboldal a Webnode segítségével készült. Készítsd el a sajátodat ingyenesen még ma! Kezdd el