Alina Campana wrote: > Hello dear tutorlist,
Welcome! > I feel terribly ashamed for my bad english... > Yet I'll try to form my question: > It is about the continue statement in python.I wrote this code > i = 0while (i < 10): if i == 5: continue print i i+=1 > What i expected was an output like12346789 > Instead it seems to freeze after 4. The shell input symbol is blinking. > > I bet this is easy enough for pros but I really got my problem with > understanding the reason why. Okay thank you people, I go now learn better > english ^^ As long as we can understand you at all a few quirks in your English don't matter. Quite a few of as aren't native speakers either. What does matter is how you format your post -- use text-only if possible at all. Anyway, I'm guessing that your code originally looked like this: i = 0 while (i < 10): if i == 5: continue print i i+=1 Look at the while loop closely -- for 0, 1, 2, 3, and 4 it does not enter the if suite. But with i == 5 it executes the continue statement, i. e. it goes right back to the while-test. Both `print i` and `i += 1` are skipped, i stays at the value 5 forever. What you want is to skip the print, but not the increment, and there is no straight-forward way to do that using continue and a while loop. But how about using for? for i in range(10): if i == 5: continue print i In fact I would write it without continue: for i in range(10): if i != 5: print i Now a variant with while (not recommended), just to show how you could skip part of the code using continue: i = 0 while i < 10: k = i i += 1 if k == 5: continue print k But even that would look better without continue: i = 0 while i < 10: if i != 5: print i i += 1 _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor