Inglese – verbi irregolari

La lingua inglese ha alcune peculiarità e rende la lingua inglese inutilmente complicata. Una di queste peculiarità sono i verbi irregolari. Perché esistano è al di là della mia conoscenza. La formazione dei tempi verbali in inglese è fondamentalmente semplice, ma consiste di 12 (!) Tempi.
Tutti sono utilizzati per esprimere diversi riferimenti temporali e tipi di azione. Ecco i tempi principali e la loro formazione in inglese:

  • Regalo semplice:
    Formazione: Soggetto + verbo (infinito) + -s/-es (singolare per la 3a persona) Ad esempio:
  • Gioco a tennis. (Gioco a tennis.)
  • Gioca a tennis. (Gioca a tennis.)
  • Presente continuo:
    Formazione: Soggetto + essere (nella forma appropriata) + verbo (gerundio) Esempio:
  • Sto giocando a tennis. (Sto giocando a tennis in questo momento.)
  • Sta giocando a tennis. (Sta giocando a tennis.)
  1. Presente perfetto:
    Formazione: Soggetto + avere/ha + verbo (participio passato) Ad esempio:
  • Ho giocato a tennis. (Ho giocato a tennis.)
  • Abbiamo visto quel film. (Abbiamo visto il film.)
  1. Passato semplice:
    Educazione: soggetto + verbo (passato semplice) Esempio:
  • Ho giocato a tennis. (Ho giocato a tennis.)
  • Ha visto un film. (Stava guardando un film.)
  1. Passato continuo:
    Formazione: Soggetto + cosa/erano + verbo (gerundio) Esempio:
  • Stavo giocando a tennis. (Stavo giocando a tennis.)
  • Stavano studiando per l’esame. (Stavano studiando per l’esame.)
  1. Passato perfetto:
    Formazione: Soggetto + aveva + verbo (participio passato) Esempio:
  • Avevo giocato a tennis. (Avevo giocato a tennis.)
  • Era già partita quando sono arrivato. (Era già partita quando sono arrivato.)
  1. Futuro semplice:
    Educazione: Soggetto + volontà + verbo (infinito) Esempio:
  • Giocherò a tennis. (Vado a giocare a tennis.)
  • Arriveranno domani. (Arriveranno domani.)
  1. Futuro continuo:
    Educazione: Soggetto + sarà + verbo (gerundio) Esempio:
  • Giocherò a tennis. (Sto andando a giocare a tennis in questo momento.)
  • Studierà per l’esame. (Studierà per l’esame.)
  1. Futuro anteriore:
    Formazione: Soggetto + avrà + verbo (participio passato) Esempio:
  • Avrò giocato a tennis. (Avrò giocato a tennis.)
  • Avranno terminato il progetto entro la prossima settimana. (Avranno completato il progetto entro la prossima settimana.)

Questi nove tempi sono i tempi di base in inglese. Ci sono anche altri tempi, come il Present Perfect Continuous, il Past Perfect Continuous, e il Future Perfect Continuous, che esprimono riferimenti temporali più complessi.

Quindi in realtà non così difficile. Divertenti, tuttavia, sono queste parole irregolari, come andare – il passato è andato – non hanno nemmeno una lettera in comune. Ciò che ci aiuta è. che li impariamo a memoria. Ora stiamo costruendo un programma per questo.

Ci sono 283 verbi irregolari. Sembra molto – lo è. Digitarli tutti nel codice sorgente in un array non è solo noioso, ma rende anche il codice un po ‚illeggibile. Quindi decidiamo di esternalizzare i verbi. Useremo un semplice file di testo per questo. In questo file di testo scriviamo tutti i verbi che vogliamo imparare, riga per riga, i singoli tempi separati da „,“.

Ecco come appare il nostro file:

essere, sono/sono, era/erano, stato
cominciare, cominciare, cominciare, iniziare
rompere, rompere, rotto, rotto
portare, portare, portare, portare
costruire, costruire, costruire, costruire

Ora dobbiamo leggere questo file in qualche modo nel nostro programma Python. Per fortuna, questo è molto facile da fare in Python. C’è il comando open per questo. Il comando open è la nostra chiave per i file. Ha bisogno di due parametri. Il primo parametro è il nome del file, il secondo è la modalità che indica cosa vogliamo fare con il file. Ci sono quattro diverse modalità

„r“ – Leggi – valore predefinito. Apre un file per la lettura, restituisce un errore se il file non esiste.
„a“ – Aggiungi – Apre un file da allegare, crea il file se non esiste
„w“ – Write – Apre un file per la scrittura, crea il file se non esiste
„x“ – Crea – Genera il file specificato, restituisce un errore se il file esiste già.
Per aprire il nostro file, basta usare il seguente comando:
open(‚irregular_verbs.txt‘)
Poiché „r“ è il valore predefinito, possiamo astenerci dallo specificarlo, ma per la leggibilità del codice è sempre bene specificare la „r“ in tal caso.
La funzione open restituisce un oggetto file, che possiamo quindi lavorare successivamente.
Se eseguiamo le seguenti righe di codice:

f = open('irregular_verbs.txt', 'r')
print(f.read())

Produciamo l’intero file.
Abbiamo ancora un piccolo problema. Se il file non esiste, la funzione open genera un errore e il nostro programma semplicemente si interrompe. Per evitare ciò, c’è la funzione os.path.exists nella libreria del sistema operativo. Con questa funzione è possibile verificare se esiste un dato o una directory. Genera output true o false.

Ma ora inizia. La prima cosa che facciamo è creare una funzione per caricare il file e impacchettarlo in un array

def load_irregular_verbs(file_path):
    irregular_verbs = []
    with open(file_path, 'r') as file:
        for line in file:
            verb, present_s, past_s, past_participle = line.strip().split(', ')
            irregular_verbs.append({
                'verb': verb,
                'present_singular': present_s,
                'present_plural': 'are' if present_s == 'am' else present_s,
                'past_singular': past_s,
                'past_plural': 'were' if past_s == 'was' else past_s,
                'past_participle': past_participle
            })
    return irregular_verbs

Diamo un’occhiata più da vicino a questa funzione.
Innanzitutto, creiamo un elenco vuoto chiamato Irreguläre_Verben = []‘. Successivamente, li riempiremo con i singoli verbi dal file.

Successivamente, apriamo il file dei nostri mezzi
con open(file_path, ‚r‘) come file:
in modalità di lettura (‚r‘). Ciò che è importante qui è la precedente affermazione „con“. In questo modo l’oggetto file viene chiuso correttamente al termine del blocco di codice rientrato (suite), anche se viene generata un’eccezione durante l’esecuzione.
Di notte abbiamo „per riga in file:“. Questo ciclo scorre ogni riga del file aperto. La variabile contiene il contenuto di line ogni riga.

verb, present_s, past_s, past_participle = line.strip().split(', ') prende ogni riga del file, rimuove tutti gli spazi iniziali e finali (strip()), quindi li divide in quattro parti separate da virgole e spazi (‚, ‚).

irregular_verbs.append({ … })erstellt unser Wörterbuch mit dem Verb und seinen verschiedenen Formen (Singular/Plural für Präsens und Präteritum sowie Partizip der Vergangenheit) und fügt es an die Listeirregular_verbs‘ usando append.

Infine, restituiamo tutti i verbi che sono stati letti.

La prossima funzione è quella di costruire il nostro trainer

def irregular_verbs_trainer(irregular_verbs):
    score = 0
    num_Frage = 5

    
    for _ in range(num_Frage):
        random_verb = choose_random_verb(irregular_verbs)

        verb = random_verb['verb']
        

        tense = random.choice(list(random_verb.keys()))
        correct_form = random_verb[tense]

        user_input = input(f"What is the {tense.replace('_',' ')} form of '{verb}'? ")

        if user_input == correct_form:
            print("Correct!")
            score +=1
        else:
            print(f"Wrong. The correct answer is '{correct_form}'.")

        
        print()

    print(f"Quiz abgeschlossen! Du hast {score}/{num_Frage} richtig! Gut gemacht!")

In realtà è lo stesso delle frazioni, tranne per il fatto che scegliamo un verbo dalla lista.

È possibile scaricare l’intero codice sorgente come progetto Visual Studio all’indirizzo gpiwonka/IrregularVerbs: A small trainer for learning the English Irregular Verbs (github.com).
Buon divertimento!