erster Beitrag, erstes Problem..

Folgendes: Ich habe mir als erstes kleines Programm eine Lernhilfe fürs OSI-Modell überlegt. In einem Dictionary lege ich die Keys und Values an (siehe Code weiter unten). Danach gebe ich in einer for-Schleife die Keys aus und frage die jeweiligen Values ab. Sind diese richtig beantwortet, wird zum nächsten Key gesprungen, falls nicht, wird die korrekte Antwort noch angezeigt.
Soweit klappt das auch. Doch zwei Sachen stören mich.
- Da ich nicht möchte, dass er nach 7 Abfragen das Programm verlässt, habe ich eine While Schleife eingebaut, jedoch verstehe ich nicht ganz, wieso er bei der Eingabe von "x" nicht aus der Schleife springt
- Momentan ist die Reihenfolge zwar "durcheinander", aber nicht zufällig. Beispiel: 3, 1, 5, 4, 7, 6, 2, 3, 1, 5, 4, 7, 6, 2, 3, 1, 5, 4, 7, 6, 2 usw... soll heißen das Muster wiederholt sich andauernd. Ich hätte aber gern, dass die Keys zufällig sind. Ist das irgendwie zu bewerkstelligen ?
Hier noch mein Code:
Code: Alles auswählen
schicht = {"Schicht 1": "Bitübertragungsschicht", "Schicht 2": "Sicherungsschicht", "Schicht 3": "Vermittlungsschicht",
"Schicht 4": "Transportschicht", "Schicht 5": "Sitzungsschicht", "Schicht 6": "Darstellungsschicht",
"Schicht 7": "Anwendungsschicht"}
lWeiter = True
while lWeiter:
for q, a in schicht.items():
print(q + ": ")
antwort = input()
if antwort == a:
print("Richtige Antwort")
elif antwort != a:
print("Falsch, richtig wäre " + a)
elif antwort == "x":
lWeiter = False
break
Grüße,
lordzwieback