Weird Loop Behaviour

Emile van Sebille emile at fenx.com
Fri Jan 20 16:20:21 EST 2012


On 1/20/2012 12:47 PM Yigit Turgut said...
> 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
you're setting end's value before the display happens, so while tests 
the values 0,3,5 before getting after the fourth pass 8.  Move this 
after to white = note white and I suspect you'll be OK.

HTH,

Emile




>        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()





More information about the Python-list mailing list