
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