Írjatok egy függvényt, ami a megadott szótár segítségével tetszőleges magyar szöveget angolra fordít!
szotar={'a':'the',
'majom': 'monkey',
'kutya':'dog',
'szereti':'likes',
'banánt':'banana',
'kolbászt':'sausage'}
pelda_szoveg='a majom szereti a banánt minden kutya szereti a kolbászt'
A fordito
függvény a kapott sringet először szétszedi a szavakra, majd azokat egyenkét fordítja le egy for-ciklus segítségével. Egy adott szóról először elönti, hogy szerepel-e a szótárban: ha nem, akkor egyszerűen berakja a magyar szót az új szólistába, ha igen, akkor a magyar szónak megfelelő angol szót rakja bele. Végül, az új szólistát visszaalakítja stinggé, amit a függvény, mint visszatérési értéket visszaad.
def fordito(szotar, string):
magyarszavak = string.split() # A kapott mondat feldarabolása
angolszavak = list()
for szo in magyarszavak: # A függvény végigmegy a mondat szavain
if szo in szotar:
angolszavak += [szotar[szo]] # Ha a szó benne van a szótárban, az angol szót használja
else:
angolszavak += [szo] # Ha nincs, akkor a magyart
return " ".join(angolszavak) # Az új szólista visszaalakítása stringgé
Ez alapján, a példamondat angolul:
fordito(szotar, pelda_szoveg)
És még néhány másik mondat:
ujszotar = {'minden':"every", 'bogár':'beetle', "rovar":'insect', 'nem':'not', 'szó':'word',
'elszáll':'flies away', 'írás':'writing', 'megmarad':'remains', 'lenni':'to be',
'vagy':'are', 'itt':'here', 'kérdés':'question'}
mondat1 = "minden bogár rovar de nem minden rovar bogár"
mondat2 = "szó elszáll írás megmarad"
mondat3 = "lenni vagy nem lenni ez itt a kérdés"
fordito(ujszotar, mondat1)
fordito(ujszotar, mondat2)
fordito(ujszotar, mondat3)