Python-Aufgabe ist wieder einmal unverständlich. Kann jemand helfen?
Hallo liebe Community!
Wieder einmal bin ich am Verzweifeln beim Programmieren. Die letzten Aufgaben gingen echt gut, aber momentan stehe ich wieder auf der Leitung.
Die Aufgabe ist es, ein Vokabelabfrageprogramm zu kreieren, welches einen abfragt, Groß- und Kleinschreibung ignoriert und auch gleich kontrolliert, ob die Antwort stimmt.
In der Daten.py steht jedeglich das Dictionary, welches wir verwenden sollen.
Das Wörterbuch sieht wie folgt aus:
woerterbuch = {
"I":"Ich",
"You":"Du",
"We":"Wir",
"Like":"mögen",
"Love":"lieben",
"eat":"essen",
"Cake":"Kuchen",
"Apple":"Apfel"
}
Wieder wäre eine Erklärung bestenfalls mit Lösungsvorschlag sehr hilfreich.
Danke!
LG
1 Antwort
Der erste Schritt ist, ein zufälligen Eintrag zu bekommen.
Ein Beispiel zum zufälligen Eintrag aus einem Dict, wäre hier.
Der Anfäng wäre dann:
import random
englisch, deutsch = random.choice(list(woerterbuch.items()))
Zur Erklärung:
dictionary.items() gibt eine Liste mit alle Einträgen als Tupel zurück. z.B. [('I', 'Ich'), ('You', 'Du'), ...]. Diese Werte werfen wir in den Konstrukter der einer Python Liste.
Mit random.choice(...) bekommt man eine zufälligen Eintrag aus z.B. einer Liste. In dem Fall ist es ein Tupel mit beiden Wörtern.
Mit dem deutschen und englischen Wort in einer separaten Variable kannst du dann den Text und die Nutzereingabe verarbeiten.
Bezüglich Nutzereingabe und Text in Kleinschreibung umwandeln, findest du in der Hilfe von deiner Aufgabe.
Am Ende hätte ich dann den Aufbau so strukturiert:
- zufälliges Wortpaar aus dem Dictionary holen.
- Textausgabe über das englische Wort
- Speichern der Nutereingabe
- Abfrage ob Eingabe == "Ende" und dann Programm beenden
- Nutzereingabe in Lower Case umwandeln (String.lower())
- Deutsches Wort in Lower Case umwandeln bzw. separat abspeichern
- Beide Variablen mit einem If vergleichen.
- Ausgabe der If Abfrage
Mit der Hilfe solltest du das Programm selber schreiben können.
Perfekt setz moch gleich ran und probiere es mit dem neuen Wissen.