[Python-de] Re: Zuweisung via return
Stephan Herrmann über python-de <[email protected]> Wed, 03 Jul 2024 00:22:54 +0200
| Newsgroups | gmane.comp.python.general.german |
|---|---|
| Organization | sitka |
| Message-ID | <[email protected]> |
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]