When should I use the 'continue' keyword?
Example use of "continue" statement in Python? - Stack Overflow
How to 'press any key to continue' in Python 3?
Does time.sleep continue it's timer when the computer is in Sleep mode?
Videos
So, I tried searching the group and I found people asking *what* the continue keyword does, which is not my question. I think I understand it. Basically, it just says "hey, if x condition is met do not do what you did to every other element in the loop. Potentially do this instead or Just go to the next item."
The question I have is why should I use it instead of just an if-esle statement,, or if you prefer continue why should I use an if-else and not default to continue.
To put it into context, what is the meaningful difference between the following code blocks:
for i in range(10):
if i == 7:
print('7? I hate prime numbers bigger than 5!')
continue
print(f'Woo! I love the number {i}')and
for i in range(10):
if i == 7:
print('7? I hate prime numbers bigger than 5!')
else:
print(f'Woo! I love the number {i}')Both got me the same result. Is it just a "Python has many ways to do the same thing" deal or am I missing a crucial difference?
Here's a simple example:
for letter in 'Django':
if letter == 'D':
continue
print("Current Letter: " + letter)
Output will be:
Current Letter: j
Current Letter: a
Current Letter: n
Current Letter: g
Current Letter: o
It skips the rest of the current iteration (here: print) and continues to the next iteration of the loop.
I like to use continue in loops where there are a lot of contitions to be fulfilled before you get "down to business". So instead of code like this:
for x, y in zip(a, b):
if x > y:
z = calculate_z(x, y)
if y - z < x:
y = min(y, z)
if x ** 2 - y ** 2 > 0:
lots()
of()
code()
here()
I get code like this:
for x, y in zip(a, b):
if x <= y:
continue
z = calculate_z(x, y)
if y - z >= x:
continue
y = min(y, z)
if x ** 2 - y ** 2 <= 0:
continue
lots()
of()
code()
here()
By doing it this way I avoid very deeply nested code. Also, it is easy to optimize the loop by eliminating the most frequently occurring cases first, so that I only have to deal with the infrequent but important cases (e.g. divisor is 0) when there is no other showstopper.