Mit einem zweiten ‘return’ im else-Zweig funktioniert es.
Verstehe das allerdings nicht: ‘else’ sollte nur die Funktion mit dem
neuen Zähler aufrufen, selbst aber nichts zurückgeben.
def listenlaenge (liste, zaehler=0):
if liste == []:
print("zaehler: {}".format(zaehler))
return zaehler
else:
zaehler += 1
return listenlaenge(liste[1:], zaehler)
a = listenlaenge([2, 5, 6, 1])
print("a: {}".format(a))
# >>> zaehler: 4
# a: 4
Am 02.07.24 um 23:02 schrieb Peter J. Holzer:
On 2024-07-02 18:56, Andreas Röhler <andreas.roeh...@online.de> wrote:
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)
Hier fehlt das return.
hp
_______________________________________________
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: andreas.roeh...@online.de
_______________________________________________
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