Seite 1 von 1
While Schleife mit or
Verfasst: Freitag 14. Dezember 2012, 12:24
von samid
Hallo Zusammen,
kann mir jemand erklären wieso die Schleife bei der Änderung der Variable b nicht unterbricht:
Code: Alles auswählen
a = 0
b = True
while a < 10 or b == True:
a += 1
if a == 5:
b = False
Danke für die Antworten.
Re: While Schleife mit or
Verfasst: Freitag 14. Dezember 2012, 12:29
von EyDu
Weil a = 5 < 10 noch immer erfüllt ist. Ein Test der Form `x == True` ist übrigens immer unnötig, dann kannst du gleich `x` schreiben.
Re: While Schleife mit or
Verfasst: Freitag 14. Dezember 2012, 12:39
von samid
OK und wie formuliere ich dann die Schleife so um, dass das Programm entweder bei der einen Anweisung oder bei der anderen Anweisung (je nachdem welche schneller eintrifft) die Schleife unterbricht ohne das "break" Argument in der Schleife zu verwenden?
Danke.
Re: While Schleife mit or
Verfasst: Freitag 14. Dezember 2012, 12:44
von EyDu
In diesem Fall einfach mit and. Oft bietet es sich auch an zu formulieren in welchen Fällen die Schleife verlassen werden soll und diesen Ausdruck dann zu negieren.
Re: While Schleife mit or
Verfasst: Freitag 14. Dezember 2012, 12:46
von karolus
Re: While Schleife mit or
Verfasst: Freitag 14. Dezember 2012, 13:29
von samid
Alles klar. Danke euch.
Re: While Schleife mit or
Verfasst: Freitag 14. Dezember 2012, 18:02
von BlackJack
@samid: Wobei man so etwas als ``for``-Schleife ausdrücken würde, die man bei eintreten einer bestimmten Bedingung dann mit einer ``break``-Anweisung verlässt:
Wobei die Abbruchbedingung für etwas stellvertretend für eine dynamischere Bedingung steht. Denn wenn man tatsächlich immer bei 5 abbricht, hätte man die Schleife auch gleich nur bis dorthin laufen lassen können.