Ich bin sehr neu in Python und ich habe Schwierigkeiten, meinen Kopf um Funktionen zu wickeln. Ich schrieb das heute und ich kann nicht herausfinden, warum es nicht funktioniert.Einfache Loop-Funktion mit unerwarteter Ausgabe
x = [1,2,3,4,5,6,7,8]
def test():
y = []
for num in x:
if num > 4:
y.append(num)
return y
print(test())
So, wie ich es verstehe, die for
Schleife fahren durch die jedes Element von x
, testen, um zu sehen, ob es größer als 4 ist Wenn ja, dann sollte dieses Element in der leeren Liste hinzugefügt werden, y
. Die erwartete Ausgabe sollte daher sein:
[5,6,7,8]
Aber was ich bin immer nur dies: [5]
,
darauf hinweist, dass die for
Schleife ist nicht ... na ja, Looping. Es weist [1,2,3,4]
für nicht größer als 4 zurück. Das ist in Ordnung. Es erkennt, dass 5 größer als 4 ist und addiert es zu y
. Das ist auch in Ordnung. Aber dann hört es einfach auf ... hört auf. Wie ich es verstehe, sollte die Funktion 6, 7 und 8 zu y
auch hinzufügen, weil sie alle die Kriterien von mehr als 4 passen.
Ich bin total fest. Wenn mir jemand helfen könnte, herauszufinden, warum das passiert, würde ich es sehr schätzen.
Ihre 'Rückkehr y' ist in der' denn es ist die 'für loop' – MooingRawr
Leer Angelegenheiten in Python aus bewegen loop'. Bewegen Sie Ihr 'return y' außerhalb der for-Schleife. –
* Facepalm! * Ah! So offensichtlich. Ich schwöre, ich hätte diesen Fehler nicht gemacht, wenn es kein Montag gewesen wäre! Vielen Dank Leute :-) – Nellington