"or" operator

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
G-Rizzle
User
Beiträge: 90
Registriert: Donnerstag 18. Februar 2021, 12:26

hallo,

ich will abfragen, ob eine variable 0 oder 500 ist. hintergrund ist der, dass eine zählvariable in einer while loop konstant von 0 auf 1000 läuft und dann wieder bei 0 beginnt. wenn der wert 0 oder 500 ist soll etwas passieren.

meine idee:

Code: Alles auswählen

if zaehlvariable == 0 or 500:
	print("ja")
	
	
funktioniert leider nicht, es wird jedes mal "ja" geprintet.
wo ist der fehler?
Sirius3
User
Beiträge: 17747
Registriert: Sonntag 21. Oktober 2012, 17:20

`or` ist eine logische Operation. Also ist `zaehlvariable == 0` wahr oder 500 wahr. Das erste kann manchmal wahr sein, das zweite ist immer wahr, also ist die ganze if-Bedingung immer wahr. Was Du suchst, ist `in`:

Code: Alles auswählen

if zaehlvariable in [0, 500]:
oder wenn zählvariable eh immer <1000 ist:

Code: Alles auswählen

if zaehlvariable % 500 == 0:
Warum läuft die Variable denn bis 1000 und nicht nur bis 500, dann wäre es noch einfacher.
Wenn man eine Zählvariable hat, dann benutzt man for statt while.
G-Rizzle
User
Beiträge: 90
Registriert: Donnerstag 18. Februar 2021, 12:26

danke!

andere funktionen werden z.b. bei 700 etc. ausgelöst (;
Sirius3
User
Beiträge: 17747
Registriert: Sonntag 21. Oktober 2012, 17:20

700 ist aber nicht durch 1000 teilbar.
Zizibee
User
Beiträge: 229
Registriert: Donnerstag 12. April 2007, 08:36

Als Ergänzung zu Sirius3 Antwort, wie du es auf deinem Weg hättest umsetzen können.

Code: Alles auswählen

if zaehlvariable == 0 or zaehlvariable == 500:
	print("ja")
Antworten