Andreas Röhler <andreas.roeh...@online.de> 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 -- 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