Re: Hallo, ein Neuling steckt in Schwierigkeiten :)
Verfasst: Samstag 7. Juli 2012, 17:57
Nein, stellt sie nicht. Das ist im moment die 2. Teilaufgabe und ich befinde mich in der Funktion neuesKind(kinderliste).
Zu enumerate() .. warscheinlich tu ich mich so schwer damit, weil man mir vor längerer Zeit schonmal das mit dem Laufindex eingeprügelt hat und dieser einen Widererkennungswert hat. Mein Hirn versucht an Sachen anzuknüpfen, die es schon kennt und nicht erst verstehen muss .. auch wenn es zugegebenermaßen bei enumerate() nicht viel zu verstehen gibt.
Das Hirn muss trotzdem einmal drüber schlafen um es ordentlich abzuspeichern. 
Das str.lower() hatte ich weiter unten in meinem Code, sollte ich das schon während der Eingabe einbauen?
Das ist jetzt der Code, funktioniert erstmal dank des Tipps mit "not in" statt "!=" ... allerdings fängt er jetzt auch die Großbuchstaben W und M ab .. also muss ich lower() wohl doch schon bei der Eingabe einbauen.
@BlackJack:
Das ist der aktuelle Stand.
EDIT: Wie anstrengend es ist zwischen Programmierung und Forenbeiträgen lesen hin und her zu springen glaubt echt kein Mensch!
EDIT2:
So sieht der Code "neuesKind(kinderliste)" jetzt aus.
Die Aufgabe wäre damit ja erledigt wenn ich das richtig sehe.
Noch irgendwelche Anmerkungen zu Sachen die unnütz oder doppelt gemoppelt sind wie z.B. die lower() Funktion? Ich würde (wenn ich könnte) die ja gleich in die Eingabe mit einbinden. Ich probier mal rum.
EDIT3:
Ok der Tipp von Hyperion mit dem "str.lower()" hat gefruchet.
Zu enumerate() .. warscheinlich tu ich mich so schwer damit, weil man mir vor längerer Zeit schonmal das mit dem Laufindex eingeprügelt hat und dieser einen Widererkennungswert hat. Mein Hirn versucht an Sachen anzuknüpfen, die es schon kennt und nicht erst verstehen muss .. auch wenn es zugegebenermaßen bei enumerate() nicht viel zu verstehen gibt.


Das str.lower() hatte ich weiter unten in meinem Code, sollte ich das schon während der Eingabe einbauen?
Code: Alles auswählen
geschlecht = input('Geschlecht: ')
while geschlecht not in ('m','w'):
geschlecht = input('Nochmal das Geschlecht eingeben: ')
@BlackJack:
Code: Alles auswählen
def werteAus(liste):
i = 0
m = w = n = 0
for zeichen in liste:
if zeichen == 'm':
m +=1
elif zeichen == 'w':
w += 1
else:
liste[i] = None
n += 1
i += 1
EDIT: Wie anstrengend es ist zwischen Programmierung und Forenbeiträgen lesen hin und her zu springen glaubt echt kein Mensch!

EDIT2:
So sieht der Code "neuesKind(kinderliste)" jetzt aus.
Code: Alles auswählen
def neuesKind(kinderliste):
name = vorname = geschlecht = ''
while name == '':
name = input('Nachname: ')
while vorname == '':
vorname = input('Vorname: ')
geschlecht = input('Geschlecht: ')
while geschlecht.lower() not in ('m','w'):
geschlecht = input('Nochmal das Geschlecht eingeben: ')
kinderliste.append([name, vorname, geschlecht.lower()])
return kinderliste
liste = []
print(neuesKind(liste))
Noch irgendwelche Anmerkungen zu Sachen die unnütz oder doppelt gemoppelt sind wie z.B. die lower() Funktion? Ich würde (wenn ich könnte) die ja gleich in die Eingabe mit einbinden. Ich probier mal rum.
EDIT3:
Ok der Tipp von Hyperion mit dem "str.lower()" hat gefruchet.