Hilfe bei einem Problem mit meiner Python-Schleife! 🐍?
Hallo zusammen!
Ich bin gerade dabei, ein Python-Projekt zu erstellen, aber ich habe ein Problem mit einer Schleife, das mich wirklich frustriert. 😅 Ich versuche, eine einfache for-Schleife zu erstellen, die die Zahlen von 1 bis 10 durchläuft und nur die geraden Zahlen druckt. Aber irgendwie scheint meine Schleife die Zahlen nicht richtig zu filtern, und es werden immer alle Zahlen ausgegeben.
Hier ist mein Code dieser Website:
for i in range(1, 11):
if i % 2 == 0:
print(i)
else:
print(i)
Ich weiß, dass der Fehler wahrscheinlich klein ist, aber ich kann ihn einfach nicht finden! Hat jemand eine Idee, wie ich das beheben kann, damit nur die geraden Zahlen angezeigt werden? 🤔
Vielen Dank im Voraus für eure Hilfe! 😊
4 Antworten
und es werden immer alle Zahlen ausgegeben.
Klar. Genau das hast du hier geschrieben:
if i % 2 == 0:
print(i)
else:
print(i)
Egal ob gerade oder nicht, du machst in jedem Fall dasselbe: du gibst die Zahl aus.
Deine Schleife ist falsch
Das Problem ist, dass du sowohl die geraden als auch die ungeraden Zahlen druckst. In deinem else-Block steht ebenfalls ein print(i), weshalb jede Zahl ausgegeben wird, was ja gar keinen Sinn macht.
entferne den else-Block, dann sollte es gehen
Aber irgendwie scheint meine Schleife die Zahlen nicht richtig zu filtern, und es werden immer alle Zahlen ausgegeben.
Die Schleife arbeitet korrekt. Nur deine Abfrage darin ist .... Quark!
Wenn i Modulo 2 = 0 ist, dann soll die Zahl ausgegeben werden. Andernfalls gibst du die Zahl aber auch aus.
Es spielt also gar keine Rolle, was das Ergebnis deiner Bedingung ist!
If und Else tun exakt das Gleiche! Genau hier ist der Fehler!
for i in range(1, 11):
if i % 2 == 0:
print(i)
else:
continue
oder besser:
for i in range(1, 11):
if i % 2 == 0:
print(i)