Skok na konec trenutne iteracije

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, ... , 97. Pri uporabi tega stavka moramo biti pazljivi, da ne preskočimo tudi česa takega, kar ne bi smeli. Poskusimo prejšnji program zapisati z zanko 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: