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]

Reply via email to