Weird Loop Behaviour
MRAB
python at mrabarnett.plus.com
Fri Jan 20 16:10:29 EST 2012
On 20/01/2012 20:47, Yigit Turgut wrote:
> Hi,
>
> In the following code, I am trying to run "black" screen for 3 seconds
> and respectively 2 seconds "white" screen. Black routine takes 3
> seconds and white 2 seconds, 2 x black + white = 8 seconds which
> should be the expected value but when I run it I get black-white-black-
> white instead of black-white-black. Couldn't figure out what is
> wrong thus sharing the code as well ;
>
> white = False
> while(end<8.00):
> end = time.time() - start
> if white:
> screen.fill((255, 255, 255))
> time.sleep(2)
> else:
> screen.fill((0, 0, 0))
> time.sleep(3)
> white = not white
> pygame.display.update()
> pygame.quit()
Could it be because you're setting 'end' after testing it?
It might be simpler as:
while time.time() - start < 8:
Also, should it really be sleeping before updating the display? I
would've thought that it should be sleeping _after_ updating the
display.
More information about the Python-list
mailing list