[Python-de] Re: Zuweisung via return

2024-07-03 Thread Peter J. Holzer
On 2024-07-02 22:09, Marcel Logen <[email protected]> wrote: > Andreas Röhler in de.comp.lang.python: >>Die untenstehende Funktion soll die Länge einer Liste berechnen. > > len(liste) > >>Leider gelingt es nicht, das Ergebnis einer Variablen "a" zuzuweisen. >>Diese erhält "None". >>Hat jem

[Python-de] Re: Zuweisung via return

2024-07-03 Thread Hartmut Goebel
Am 02.07.24 um 20:56 schrieb Andreas Röhler: print("zaehler: {}".format(zaehler)) Immer wieder sehe ich diese unnötigen und ineffizienten String-Formatierungen bei "print". print("zaehler:", zaehler) tut genau das gleiche. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@cra

[Python-de] Re: Zuweisung via return

2024-07-03 Thread Andreas Röhler
Am 03.07.24 um 00:09 schrieb Marcel Logen: Andreas Röhler in de.comp.lang.python: Die untenstehende Funktion soll die Länge einer Liste berechnen. len(liste) Ja, ist hier nur eine Übung. Leider gelingt es nicht, das Ergebnis einer Variablen "a" zuzuweisen. Diese erhält "None". Hat jemand ei

[Python-de] Re: Zuweisung via return

2024-07-03 Thread Peter J. Holzer
On 2024-07-03 09:14, Hartmut Goebel wrote: > Am 02.07.24 um 20:56 schrieb Andreas Röhler: >> print("zaehler: {}".format(zaehler)) > > Immer wieder sehe ich diese unnötigen und ineffizienten > String-Formatierungen bei "print". Unnötig kompliziert und schwer zu lesen? Ja, zumindest in diesem Fal

[Python-de] Re: Zuweisung via return

2024-07-03 Thread Andreas Röhler
Meine Lösung: #! /usr/bin/env python3 def listlaenge(liste) -> int:     if liste == []:     return 0     else:     return 1 + listlaenge(liste[1:]) a = listlaenge([2, 8, 9, 4]) print("a: {}".format(a)) # >>> a: 4 Am 02.07.24 um 20:56 schrieb Andreas Röhler: Die untenstehende Funktio

[Python-de] Re: Zuweisung via return

2024-07-03 Thread Hartmut Goebel
Am 03.07.24 um 13:43 schrieb Peter J. Holzer: Ineffizient? Ja, denn wenn der String erst als ganzes formatiert wird, muss erstmal der Speicher für den ganzen String alloziert werden, ehe der String ausgegeben werden kann. Das mag von Pythons Speicher-Management abgefangen werden und auf ak

[Python-de] Re: Zuweisung via return

2024-07-03 Thread Peter J. Holzer
On 2024-07-03 12:41, Hartmut Goebel wrote: > Am 03.07.24 um 13:43 schrieb Peter J. Holzer: >> Ineffizient? > > Ja, denn wenn der String erst als ganzes formatiert wird, muss erstmal > der Speicher für den ganzen String alloziert werden, ehe der String > ausgegeben werden kann. > > Das mag von Py

[Python-de] Re: Zuweisung via return

2024-07-03 Thread Andreas Röhler
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))     ret

[Python-de] Re: Zuweisung via return

2024-07-03 Thread Peter J. Holzer
On 2024-07-03 14:28, Andreas Röhler wrote: > 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. Doch. Natürlich soll das was zurückgeben. Wie sollte sonst das

[Python-de] Re: Zuweisung via return

2024-07-03 Thread Hermann Riemann
Am 03.07.24 um 16:28 schrieb Andreas Röhler: 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 zaehl

[Python-de] Re: Zuweisung via return

2024-07-03 Thread Frank Grellert über python-de
a = len(liste) print(f"a: {a}") Warum dann diese umständliche Funktion? Gibt's dafür einen Grund? Frank Grellert Stefan Ram schrieb am Mi., 3. Juli 2024, 22:38: > [email protected] (Stefan Ram) schrieb oder zitierte: > >def length( sequence ): > >return length( sequence[ 1: ])+ 1 if

[Python-de] Re: Zuweisung via return

2024-07-03 Thread Peter J. Holzer
On 2024-07-03 19:14, Hermann Riemann wrote: > Am 03.07.24 um 16:28 schrieb Andreas Röhler: >> 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 == []: >>