Pri tej nalogi moramo paziti predvsem na besede, ki se začnejo na črko r. Ker pri zlogovanju besed ni nekega določenega pravila bomo privzeli, da obstajajo izjeme. Se pravi, da program ne bo deloval za vse besede.
Uporabili bomo pravilo:
- kolikor samoglasnikov je v besedi, toliko zlogov ima beseda.
- če je prva črka r in druga soglasnik potem ima beseda en zlog več
- če je druga črka r ter prva in tretja soglasnik, potem ima beseda en zlog več.
Definirajmo neko metodo, ki ima kot parameter podano besedo, ki jo vpišemo.
Metoda a.lower() nam spremeni niz a v majhne črke, s tem se izognemo velikim črkam, ki bi lahko nastopale v kateri besedi.
Definiramo še niz, ki vsebuje samoglasnike in števec, ki nam bo štel zloge.
S pomočjo for zanke pogledamo črke v besedi. Če je katera črka iz niza, ki vsebuje samoglasnike potem števec povečamo za 1.
Sedaj pa definiramo še posebna primera. Pomagamo si z if stavkom.
- Če je prva črka r in druga soglasnik(zapisali smo vse ostale črke, ki niso samo glasniki), potem števec spet povečamo za 1.
- Če je druga črka r ter prva in tretja soglasnik, potem števec spet povečamo za 1.
Moramo paziti, da če beseda vsebuje samo eno črko, to črko štejemo kot zlog.
Spet si pomagamo z if stavkom:
Če po vseh korakih, ki smo jih do sedaj izvedli števec ostane 0, potem nam naj program vrne 1.
Program nam na koncu mora vrniti števec.
Program