"David" <[EMAIL PROTECTED]> wrote

Hi, I am trying to get a while loop that will execute 5 time then stop.

Copngratulations, you have succeeded.
Unfortunately nothing happens inside your loop. I suspect you
actually want to execute some code 5 times?

#counter = 0
#while counter < 5 :
#    counter = counter + 1

Yep, this would have done it.

while True:
   mytime.tick()
   mytime.print_time()
   time.sleep(1) # Sleep for 1 second

And this loop runs forever because you never break
out of it.

counter = 0
while counter < 5 :
   counter = counter + 1

If you did get out of the infinite loop above then this one does do it too. But all it does is increment the counter. If you want code to be executed
it must also be inside the loop (ie inside the indented code section).

So what I think you wanted would be:

counter = 0
while counter < 5:
   mytime.tick()
   mytime.print_time()
   time.sleep(1) # Sleep for 1 second
   counter = counter + 1

But since its for a fixed number of iterations you are better
off using a for loop:

for counter in range(5)
   mytime.tick()
   mytime.print_time()
   time.sleep(1) # Sleep for 1 second

Note we don't need to increment the counter in this version.

See the loops section of my tutorial for more about for
and while loops.

HTH,

--
Alan Gauld
Author of the Learn to Program web site
http://www.freenetpages.co.uk/hp/alan.gauld

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to