Andreas Röhler <andreas.roeh...@online.de> 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 -- python-de@python.org
Zur Abmeldung von dieser Mailingliste senden Sie eine Nachricht an 
python-de-le...@python.org
https://mail.python.org/mailman3/lists/python-de.python.org/
Mitgliedsadresse: arch...@mail-archive.com

Reply via email to