i = 1
while i < 10000 and i > 0 and 1 :
print " still going ..."
i = 2 * i

Hi i am new to Python and completley useless at it. Can somebody please explain to me why this code prints "Still going" 14 times. I have tried to work it out but i just can't see how. Any help would be very much appreciated. Thanks

You don't need the and 1 at the end of the while line, and you should indent anything that's within a loop.
You can see things more clearly if you print the variables out in each step:

i = 1
while i < 10000 and i > 0 :
    print " still going ...",i
    i = 2 * i

Edited 5 Years Ago by lagspike: n/a

Because you are multiplying i by 2 each time it comes around :-O

I think what you need is

i += 1

instead :P


edit: if you run the code lagspike gave you its clear to see! always print out strings that are giving you trouble to see the problem!

Edited 5 Years Ago by 15uck: : D smiley came out as LOL =/

Thank you both. It makes perfect sense. I'm sorry if the question and post seemed a bit thick lol. But thank you for your help

Thank you both. It makes perfect sense. I'm sorry if the question and post seemed a bit thick lol. But thank you for your help

its not thick at all :twisted: everyone has to start somewhere :cool:

This question has already been answered. Start a new discussion instead.