Včasih nekje sredi trenutne iteracije (zaporedja stavkov) naše zanke ugotovimo, da se s preostankom te iteracije pravzaprav nočemo ukvarjati. Takrat pride prav stavek continue
, s katerim poskrbimo, da izvajanje nemudoma skoči na konec trenutne iteracije.
Ta program pri vsakem n preveri, če je njegova zadnja števka enaka 7; če ni, se izvede stavek continue
in skoči na konec trenutne iteracije, tako da preskoči stavek print(n)
. Program zato izpiše le števila 7, 17, 27, while
namesto for
:
Če ta program zaženemo, vidimo, da se ne zgodi nič uporabnega. Pri n = 0 (v prvi iteraciji zanke) se izvede stavek continue
, ki preskoči preostanek telesa zanke, torej tudi stavek n = n + 1
. Ker se ta ne izvede, ostane n
enak 0; v naslednji iteraciji zanke se isto dogajanje ponovi in tako naprej v nedogled. Temu rečemo, da se je program »zaciklal« v neskončni zanki. Da odpravimo to napako, moramo poskrbeti, da se pred continue
zagotovo izvede tisto, kar je pač potrebno pred prehodom v naslednjo iteracijo zanke – v našem primeru je to povečevanje n
za 1. Še varneje pa je, če continue
uporabljamo le v zankah for
, pri čemer za povečevanje števca skrbi računalnik in ga s continue
ne moremo preskočiti.
Oglejmo si drug primer, ki kaže, kako lahko s pomočjo stavka continue
zmanjšamo potrebo po globokem gnezdenju pogojnih stavkov in tako naredimo zanko preglednejšo:
for n in range(123): ... if pogoj1: ... if pogoj2: ... if pogoj3: ...
Z uporabo stavka continue
lahko enak učinek dosežemo takole:
for n in range(123): ... if not pogoj1: continue ... if not pogoj2: continue ... if not pogoj3: continue ...