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
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
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
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
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
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
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
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
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
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
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
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 == []:
>>
12 matches
Mail list logo