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 <[email protected]> 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 -- [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]
_______________________________________________
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]