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
(angleška različica besede nadaljuj
), s katerim poskrbimo, da izvajanje nemudoma skoči na konec trenutne iteracije.
... | Python | |||
Ta program pri vsakem n preveri, če je njegova zadnja števka enaka 7; če ni, se izvede stavek nadaljuj
in skoči na konec trenutne iteracije, tako da preskoči stavek izpiši n
. Program zato izpiše le števila 7, 17, 27, dokler
(oziroma while
) namesto za
(oziroma for
):
... | Python | |||
Če ta program zaženemo, vidimo, da se ne zgodi nič uporabnega. Pri n = 0 (v prvi iteraciji zanke) se izvede stavek nadaljuj
, 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 nadaljuj
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 nadaljuj
uporabljamo le v zankah za
(oziroma for
), pri čemer za povečevanje števca skrbi računalnik in ga s nadaljuj
ne moremo preskočiti.
Oglejmo si drug primer, ki kaže, kako lahko s pomočjo stavka nadaljuj
zmanjšamo potrebo po globokem gnezdenju pogojnih stavkov in tako naredimo zanko preglednejšo:
Z uporabo stavka nadaljuj
lahko enak učinek dosežemo takole: