Andreas Röhler <[email protected]> writes:
> Die untenstehende Funktion soll die Länge einer Liste berechnen.
> Leider gelingt es nicht, das Ergebnis einer Variablen "a" zuzuweisen.
> Diese erhält "None".
> Hat jemand eine Idee?
>
> def listenlaenge (liste, zaehler=0):
> if liste == []:
> print("zaehler: {}".format(zaehler))
> return zaehler
> else:
> zaehler += 1
> listenlaenge(liste[1:], zaehler)
>
Im "else" Teil gibt du ja keinen Funktionswert zurück.
Wenn das rekrsiv sein soll, dann vielleicht so:
def listenlaenge(liste):
if liste == []:
return 0
else:
return listenlaenge(liste[1:]) + 1
Zur Dokumentation schreibt man auch
def listenlaenge(liste) -> int:
damit klar ist, dass hier ein Rückgabewert kommt (kommen sollte).
Oder du verwendest die eingebaute Funktion len(liste)
--
Stephan
_______________________________________________
python-de Mailingliste -- [email protected]
Zur Abmeldung von dieser Mailingliste senden Sie eine Nachricht an
[email protected]
https://mail.python.org/mailman3/lists/python-de.python.org/
Mitgliedsadresse: [email protected]