I dizionari per fare una semplice traduzione ita/en

Un primo esempio semplice per approcciarsi alla struttura potentissima del dizionario in Python.

I dizionari sono strutture potentissime, presenti di default con il Python. Il loro comportamento è simile al dizionario che usiamo parola: definizione che la descrive. Nell’esempio qui sotto, riportiamo un dizionario che ha una parola e a fronte la sua traduzione. Nelle righe successive abbiamo una frase articolata che proviamo perciò a tradurre in modo un po’ grezzo e letterale.   

#per i dizionari traduttore
dizionario = { "casa":"home", "cane":"dog", "oggi":"today", "bella":"nice", "è":"is", "una":"a", "giornata":"day"}
#print (dizionario["casa"])

frase = "oggi è una bella giornata"
parole = frase.split(" ")
for parola in parole:
    print(dizionario[parola])

 Lo stesso esercizio visto come insieme di funzione più programma main 

def faiUnaTraduzione(frasedatradurre):
    assert isinstance(frasedatradurre, str) #controlla il tipo che gli si passa, in questo caso una stringa di testo
    parole = frasedatradurre.split(" ")
    for parola in parole:
        print(dizionario[parola])


if __name__=="__main__":
    #per i dizionari traduttore
    dizionario = { "casa":"home", "cane":"dog", "oggi":"today", "bella":"nice", "è":"is", "una":"a", "giornata":"day"}
    frase = "oggi è una bella giornata"
    faiUnaTraduzione(frase)

Altra versione con una funzione di ritorno

def faiUnaTraduzione(frasedatradurre):
    assert isinstance(frasedatradurre, str) #controlla il tipo che gli si passa, in questo caso una lista
    out = []
    dizionario = { "casa":"home", "cane":"dog", "oggi":"today", "bella":"nice", "è":"is", "una":"a", "giornata":"day"}
    parole = frasedatradurre.split(" ")
    for parola in parole:
        out.append(dizionario[parola])

    return (' '.join(out)) #prendo la lista di parole e la concateno con uno spazio e la funzione join


if __name__=="__main__":
    #per i dizionari traduttore

    frase = "oggi è una bella giornata"
    tradotto = faiUnaTraduzione(frase)
    print (tradotto)

Ultima modifica 30 Gennaio 2022