Ich hab das ganze mal in einen Pastebin gemacht, damit sich das vielleicht auch der ein oder andere anschaut (http://paste.pocoo.org/show/303903/)
Ich fang mal an:
Deine Namensnennung der Variablen ist sehr verwirrend.
Du solltest die Vokabel und das deutsche Gegenstück besser in Wörterbüchern speichern
Du hast da eine Schleife in der immer wieder erst das ganze `random`-Modul geladen wird (was du gar nicht brauchst), und dann noch eine bestimmte Funktion daraus. Das ist nicht sparsam!
Edit:
Du kannst irgendeine der eingegebenen Vokabeln eingeben, es wird immer als richtig angesehen
Edit #2:
Es ist auch nicht gesichert, dass alle Vokabeln abgefragt werden.
Edit #3:
So hätte man das wesentlich kürzer und eleganter machen können:
# -*- coding: utf-8 -*-
from random import sample
vocabulary = dict()
for i in range(15):
vocable = raw_input("Vokabel: ")
vocabulary[vocable] = raw_input("Übersetzung: ")
print '\n' * 200 # ich weiß, sehr unschön :/
for v in sample(vocabulary.keys(), len(vocabulary.keys())):
print v
answer = raw_input("Übersetzung: ")
if answer == vocabulary[v]:
print "Richtig! :-)"
else:
print "Leider falsch ;-("
Zuletzt geändert von nomnom am Sonntag 12. Dezember 2010, 16:02, insgesamt 1-mal geändert.
@Schmalli: Denk mal drüber nach, wie man das ganze für 100 oder gar 1000 Vokabeln lösen könnte! Dazu musst Du mal anfangen / weitermachen, ein Tutorial durchzuarbeiten. Da Du Schleifen wohl irgend wie schon kennst (zumindest die while-Schleife), solltest Du Dich nun mal über Listen, Dictionaries und Sets schlau machen. Denn damit kann man sich dieses ständige Wiederholen von Code-Zeilen sparen. Das schöne an Deinem jetzt nocht falschen Vorgehen ist, dass Du den Sinn und die Vorteile von diesen Datenstrukturen schnell begreifen solltest.
Danke für eure Kommentare!
Ich hab da wohl etwas zu kompliziert gedacht
Einige der Begriffe in der "Musterlösung" kenne ich noch gar nicht. Ich werde
mich mal mit einem Buch schlau machen