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 eine Idee?
Das "return" darf wohl nicht in der zweiten Ebene innerhalb der
Funktion stehen, sondern muß in der ersten erscheinen.
# Die Ebene kann nicht der Grund sein. Untenstehendes Programm gibt den Wert
# von zweiter Ebene zurück und bindet diesen auch an "a".
def add_result(a, b) -> int:
result = a + b
if result == 4:
return result
else:
print("Nicht gleich 4")
a = add_result(1, 3)
print("a: {}".format(a))
b = add_result(1, 4)
print("b: {}".format(b))
# >>> a: 4
# Nicht gleich 4
# b: None
<https://docs.python.org/3/reference/simple_stmts.html#the-return-statement>
|return| <https://docs.python.org/3/reference/simple_stmts.html#return>
may only occur syntactically nested in a function definition
Hier sehe ich keinen Grund für den Fehler.
| user15@o15:/tmp$ cat ll.py
| #!/usr/bin/python3
| def listenlaenge(li):
| z=0
| while li!=[]:
| z+=1
| li=li[1:]
| return z
|
| g=[53,535,2,3,7,64,356,3452]
|
| a=listenlaenge(g)
| print(a)
| user15@o15:/tmp$ ./ll.py
| 8
Das funktioniert Aufgabe/Test war allerdings eine rekursive Schreibweise.
Gruß und Dank an alle,
Andreas
| user15@o15:/tmp$
Marcel (Lines: 39)
_______________________________________________
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