Re: Hallo, ein Neuling steckt in Schwierigkeiten :)
Verfasst: Samstag 7. Juli 2012, 16:49
Naja, es fehlt zunächst die Eingabe des Geschlechts 
Und dann suchst Du die Methode `list.append()`; damit kannst Du ein Element zu einer Liste hinzufügen. Dieses Element ist laut Aufgabenstellung auch wieder eine Liste, wobei diese eben genau drei Element hat: Die Namen und das Kürzel für das Geschlecht.
Das `return` ist hier überflüssig, da Du ein bereits bestehendes Objekt änderst. Ich demonstriere das hier mal:
Wie Du siehst wird das Objekt hinter dem Namen `data` innerhalb der Funktion `modify` geändert, da es der Funktion als Parameter übergeben wird. Ich muss es nicht zurückgeben, wie man es bei einer Kopie oder einem neuen Objekt tun würde.
Edit: Ok, nach mehrmaligen Lesens der Aufgabe sehe ich es auch so, dass man wohl falsche Eingaben beim Geschlecht abfangen soll. Prinzipiell regelt man so etwas gerne über `while`-Schleifen. Entweder durch eine Endlosschleife (`while True: ...`), aus der nur heraus gesprungen wird (z.B. via `break`), wenn eine korrekte Eingabe erfolgt ist, oder durch das Testen auf eine korrekte Eingabe im Kopf der Schleife.

Und dann suchst Du die Methode `list.append()`; damit kannst Du ein Element zu einer Liste hinzufügen. Dieses Element ist laut Aufgabenstellung auch wieder eine Liste, wobei diese eben genau drei Element hat: Die Namen und das Kürzel für das Geschlecht.
Das `return` ist hier überflüssig, da Du ein bereits bestehendes Objekt änderst. Ich demonstriere das hier mal:
Code: Alles auswählen
data = []
def modify(data):
data.append(["Python", 42])
modify(data)
print data
#-> [['Python', 42]]
modify(data)
print data
#-> [['Python', 42], ['Python', 42]]
Edit: Ok, nach mehrmaligen Lesens der Aufgabe sehe ich es auch so, dass man wohl falsche Eingaben beim Geschlecht abfangen soll. Prinzipiell regelt man so etwas gerne über `while`-Schleifen. Entweder durch eine Endlosschleife (`while True: ...`), aus der nur heraus gesprungen wird (z.B. via `break`), wenn eine korrekte Eingabe erfolgt ist, oder durch das Testen auf eine korrekte Eingabe im Kopf der Schleife.