[Python-de] Re: Zuweisung via return

Andreas Röhler <[email protected]> Wed, 3 Jul 2024 16:28:17 +0200
Newsgroups gmane.comp.python.general.german
Message-ID <[email protected]>
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]