Python break, continue, pass izjave s primjerima

โšก Pametni saลพetak

Python Naredbe break, continue i pass kontroliraju tok petlji. Naredba break zavrลกava petlju, continue preskaฤe trenutnu iteraciju, a pass djeluje kao rezervirano mjesto koje ne radi niลกta kada se izvrลกava unutar petlji, funkcija ili klasa.

  • ๐Ÿ”˜ Pauza: Naredba break odmah zaustavlja petlju i premjeลกta kontrolu u prvi redak nakon nje.
  • โ˜‘๏ธ Nastaviti: Naredba continue preskaฤe ostatak trenutne iteracije i zapoฤinje sljedeฤ‡u.
  • โœ… Proฤ‡i: Naredba pass ne radi niลกta i sluลพi kao rezervirano mjesto za kod koji se dodaje kasnije.
  • ๐Ÿงช Ugnijeลพฤ‘ene petlje: Prekid ili nastavak utjeฤe samo na najdublju petlju, ostavljajuฤ‡i vanjske petlje u radu.
  • ๐Ÿ› ๏ธ Obje petlje: Sve tri naredbe rade unutar for-petlji i while-petlji kako bi promijenile normalan tok iteracije.
  • ๐Ÿค– Pomoฤ‡ umjetne inteligencije: AI asistenti i GitHub Copilot predlaลพu i objaลกnjavaju ispravnu upotrebu break, continue i pass operatora.

Python break, continue, pass izjave

Koncept petlji dostupan je u gotovo svim programskim jezicima. Python petlje pomaลพu u iteraciji preko popisa, tuplea, niza, rjeฤnika i skupa. Podrลพane su dvije vrste petlje Python "za" i "dok". Blok koda se izvrลกava viลกe puta unutar petlje dok se uvjet ne ispuni.

Izjave kontrole petlje prekidaju tijek izvrลกenja i prekidaju/preskaฤu iteraciju prema naลกim potrebama. Python break i continue koriste se unutar petlje za promjenu tijeka petlje od standardne procedure.

Petlja for ili while je namijenjena za ponavljanje sve dok zadani uvjet ne ispadne. Kada koristite naredbu break ili continue, tok petlje se mijenja u odnosu na uobiฤajeni naฤin.

Python izjava o prekidu

Naredba break brine se za prekid petlje u kojoj se koristi. Ako se naredba break koristi unutar ugnijeลพฤ‘enih petlji, trenutna petlja se prekida, a tijek ฤ‡e se nastaviti s kodom koji slijedi nakon petlje.

Dijagram toka za break izjavu je sljedeฤ‡i:

Python izjava o prekidu

Sljedeฤ‡i su koraci ukljuฤeni u dijagram toka.

Korak 1) Zapoฤinje izvoฤ‘enje petlje.

Korak 2) Ako je uvjet petlje istinit, izvrลกit ฤ‡e se korak 2, pri ฤemu ฤ‡e se izvrลกiti tijelo petlje.

Korak 3) Ako tijelo petlje ima naredbu break, petlja ฤ‡e izaฤ‡i i otiฤ‡i na korak 6.

Korak 4) Nakon ลกto se uvjet petlje izvrลกi i zavrลกi, nastavit ฤ‡e se sa sljedeฤ‡om iteracijom u 4. koraku.

Korak 5) Ako je uvjet petlje laลพan, izaฤ‡i ฤ‡e iz petlje i otiฤ‡i na korak 6.

Korak 6) Kraj petlje.

Tijek izvrลกenja naredbe Break

Kada se for-petlja poฤne izvrลกavati, provjerit ฤ‡e if-uvjet. Ako istinski, naredba break se izvrลกava i for-petlja ฤ‡e se prekinuti. Ako je uvjet netaฤan, izvrลกit ฤ‡e se kรดd unutar for-petlje.

Tijek izvrลกenja naredbe Break

Kada se petlja while izvrลกi, provjerit ฤ‡e if-uvjet; ako je istina, Izvrลกava se naredba break i petlja while ฤ‡e se zatvoriti. Ako je uvjet laลพan, izvrลกava se kod unutar petlje while.

Tijek izvrลกenja naredbe Break

Primjer: naredba Break unutar for-petlje

Popis my_list = ['Siya', 'Tiya', 'Guru', 'Dakลก', 'Rija', 'Guru'] se ponavlja pomoฤ‡u for petlje. Zanima nas traลพenje imena 'Guru's popisa my_list.'

Unutar for-petlje, if-uvjet usporeฤ‘uje svaku stavku s popisa s nazivom 'Guru'. Ako uvjet postane istinit, izvrลกit ฤ‡e se naredba break i petlja ฤ‡e se prekinuti.'

Radni primjer koji koristi naredbu break je prikazan u nastavku:

my_list = ['Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 

for i in range(len(my_list)):
    print(my_list[i])
    if my_list[i] == 'Guru':
        print('Found the name Guru')
        break
        print('After break statement')

print('Loop is Terminated')

Oฤekivani rezultat:

Siya
Tiya
Guru
Found the name Guru
Loop is Terminated

Primjer: Break naredba unutar while-petlje

my_list = ['Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
i = 0

while True:
    print(my_list[i])
    if (my_list[i] == 'Guru'):
        print('Found the name Guru')
        break
        print('After break statement')
    i += 1

print('After while-loop exit')

Oฤekivani rezultat:

Siya
Tiya
Guru
Found name Guru
After while-loop exit

Primjer: naredba Break unutar ugnijeลพฤ‘enih petlji

U primjeru imamo 2 for-petlje. Obje for-petlje ponavljaju se od raspona od 0 do 3. U drugu for-petlju, dodali smo uvjet gdje-in ako je vrijednost drugog for-petlje indeksa 2, trebala bi se prekinuti.

Dakle, zbog izjave break, druga for-petlja nikada neฤ‡e ponavljati za 2 i 3.

for i in range(4):
    for j in range(4):          
        if j==2:    
            break
        print("The number is ",i,j);  

Oฤekivani rezultat:

The number is  0 0
The number is  0 1
The number is  1 0
The number is  1 1
The number is  2 0
The number is  2 1
The number is  3 0
The number is  3 1

Python nastavak izjave

The nastaviti naredba preskaฤe kod koji dolazi nakon nje, a kontrola se vraฤ‡a na poฤetak za sljedeฤ‡u iteraciju.

Sintaksa:

continue

Nastavite dijagram toka

Python nastavak izjave

Sljedeฤ‡i su koraci ukljuฤeni u dijagram toka.

Korak 1) Zapoฤinje izvoฤ‘enje petlje.

Korak 2) Izvrลกit ฤ‡e se izvrลกenje koda unutar petlje. Ako unutar petlje postoji naredba koja se nastavlja, kontrola ฤ‡e se vratiti na korak 4, tj. poฤetak petlje za sljedeฤ‡u iteraciju.

Korak 3) Izvrลกit ฤ‡e se izvrลกenje koda unutar petlje.

Korak 4) Ako postoji naredba continue ili je izvrลกenje petlje unutar tijela, pozvat ฤ‡e sljedeฤ‡u iteraciju.

Korak 5) Nakon zavrลกetka izvoฤ‘enja petlje, petlja ฤ‡e izaฤ‡i i otiฤ‡i na korak 7.

Korak 6) Ako uvjet petlje u koraku 1 ne uspije, izaฤ‡i ฤ‡e iz petlje i otiฤ‡i na korak 7.

Korak 7) Kraj petlje.

Nastavi tok izvrลกenja naredbe

Petlja for prolazi kroz zadani niz my_list. Unutar petlje for izvrลกava se uvjet if. Ako je uvjet istinski, izvrลกava se naredba continue, a kontrola ฤ‡e prijeฤ‡i na poฤetak petlje za sljedeฤ‡u iteraciju.

Tok koda je kao ลกto je prikazano u nastavku:

Nastavi tok izvrลกenja naredbe

Kada se petlja while izvrลกi, provjerit ฤ‡e if-uvjet, ako jest istina, Izvrลกava se naredba continue. Kontrola ฤ‡e se vratiti na poฤetak while petlje za sljedeฤ‡u iteraciju. Ako je uvjet netoฤan, izvrลกit ฤ‡e se kod unutar while petlje.

Tok koda je kao ลกto je prikazano u nastavku:

Nastavi tok izvrลกenja naredbe

Primjer: Nastavite unutar for-petlje

for i in range(10):    
    if i == 7:
        continue  
    print("The Number is :" , i)

Oฤekivani rezultat:

The Number is : 0
The Number is : 1
The Number is : 2
The Number is : 3
The Number is : 4
The Number is : 5
The Number is : 6
The Number is : 8
The Number is : 9

Primjer: Nastavite unutar while-petlje

i = 0
while i <= 10:    
    if i == 7:
        i += 1
        continue  
    print("The Number is  :" , i)
    i += 1

Oฤekivani rezultat:

The Number is  : 0
The Number is  : 1
The Number is  : 2
The Number is  : 3
The Number is  : 4
The Number is  : 5
The Number is  : 6
The Number is  : 8
The Number is  : 9
The Number is  : 10

Primjer: Nastavite unutar ugnijeลพฤ‘ene petlje

Donji primjer pokazuje koriลกtenje 2 for-petlje. Obje for-petlje ponavljaju se od raspona od 0 do 3. U drugoj for-petlji postoji uvjet prema kojem ako je vrijednost drugog indeksa for-petlje 2, treba nastaviti. Dakle, zbog nastaviti naredbu, druga for-petlja ฤ‡e preskoฤiti iteraciju za 2 i nastaviti za 3.

for i in range(4):
    for j in range(4):          
        if j==2:    
            continue
        print("The number is ",i,j);

Oฤekivani rezultat:

The number is  0 0
The number is  0 1
The number is  0 3
The number is  1 0
The number is  1 1
The number is  1 3
The number is  2 0
The number is  2 1
The number is  2 3
The number is  3 0
The number is  3 1
The number is  3 3

Python prolazna izjava

Python naredba pass koristi se kao rezervirano mjesto unutar petlji, funkcija, klase, if-naredbe koja se namjerava implementirati kasnije.

Sintaksa

pass

ล to je pass iskaz u Python?

Python pass je nulta izjava. Kada je Python interpreter naiฤ‘e na pass naredbu, ne radi niลกta i biva ignoriran.

Kada koristiti izjavu o prolaznosti?

Zamislite da imate funkciju ili klasu s praznim tijelom. Planirate napisati kod u buduฤ‡nosti. The Python tumaฤ ฤ‡e izbaciti pogreลกku ako naiฤ‘e na prazno tijelo.

Komentar se takoฤ‘er moลพe dodati unutar tijela funkcije ili klase, ali tumaฤ ignorira komentar i izbacit ฤ‡e pogreลกku.

Prolazna izjava moลพe se koristiti unutar tijela funkcije ili tijela klase. Tijekom izvoฤ‘enja, tumaฤ, kada naiฤ‘e na naredbu prolaza, ignorira i nastavlja bez davanja ikakve pogreลกke.

Primjer: naredba pass unutar funkcije

U primjeru je prolaz dodan unutar funkcije. Izvrลกit ฤ‡e se kada se funkcija pozove kao ลกto je prikazano u nastavku:

def my_func():
    print('pass inside function')
    pass
my_func()

Oฤekivani rezultat:

pass inside function

Primjer: naredba pass unutar klase

U donjem primjeru stvorili smo samo praznu klasu koja ima naredbu za ispis nakon koje slijedi naredba za prolaz. Prolazna izjava je pokazatelj da ฤ‡e kod unutar klase โ€œMy_Classโ€ biti implementiran u buduฤ‡nosti.

classMy_Class:
print("Inside My_Class")    
pass

Izlaz:

Inside My_Class

Primjer: naredba pass unutar petlje

U donjem primjeru, niz 'Guru' se koristi unutar for-petlje. Uvjet if provjerava znak 'r' i poziva naredbu print nakon koje slijedi pass.

# Pass statement in for-loop
test = "Guru"
for i in test: 
    if i == 'r': 
        print('Pass executed') 
        pass
    print(i)

Oฤekivani rezultat:

G
u
Pass executed
r
u

Primjer: proslijedite naredbu unutar if-petlje

U primjeru if petlja provjerava vrijednost a i ako je uvjet istinit, ide i ispisuje izjavu "prolaz izvrลกen" nakon ฤega slijedi prolaz.

a=1
if a==1:
    print('pass executed')
    pass

Oฤekivani rezultat:

pass executed

Kada koristiti naredbu break and continue?

  • A razbiti naredba, kada se koristi unutar petlje, prekinut ฤ‡e petlju i izaฤ‡i. Ako se koristi unutar ugnijeลพฤ‘enih petlji, izaฤ‡i ฤ‡e iz trenutne petlje.
  • A nastaviti naredba ฤ‡e zaustaviti trenutno izvrลกenje kada se koristi unutar petlje, a kontrola ฤ‡e se vratiti na poฤetak petlje.

Glavna razlika izmeฤ‘u naredbe break i continue je u tome ลกto kada se naiฤ‘e na kljuฤnu rijeฤ break, ona ฤ‡e izaฤ‡i iz petlje.

U sluฤaju kljuฤne rijeฤi continue, trenutna iteracija koja se izvodi bit ฤ‡e zaustavljena i nastavit ฤ‡e sa sljedeฤ‡om iteracijom.

Pitanja i odgovori

Naredba continue preskaฤe ostatak trenutne iteracije petlje i skaฤe na sljedeฤ‡u. Naredba pass ne radi niลกta - ona je samo rezervirano mjesto koje odrลพava petlju, funkciju ili klasu sintaktiฤki valjanom.

Naredba break izlazi samo iz najunutarnje petlje koja je sadrลพi, tako da se sve vanjske petlje nastavljaju izvrลกavati. Da biste odjednom napustili nekoliko petlji, upotrijebite varijablu flag ili premjestite petlje u funkciju i vratite se.

Da. Blok petlje else izvrลกava se samo kada se petlja normalno zavrลกi bez izvrลกavanja prekida. Koristan je za logiku pretraลพivanja, kao ลกto je ispis poruke da nije pronaฤ‘eno nakon provjere svake stavke u nizu.

Python izaziva SyntaxError, jer su naredbe break i continue valjane samo unutar petlje for ili while. Ako vam je potreban rezervirani prostor izvan petlje, umjesto toga koristite naredbu pass, koja je dopuลกtena svugdje gdje se oฤekuje naredba.

Nakon ลกto se izvrลกi naredba break ili continue, kontrola napuลกta trenutnu iteraciju, pa su naredbe napisane nakon njih u sljedeฤ‡im retcima nedostupne. U gornjim primjerima, poziv funkcije print() nakon naredbe break nikada se ne izvrลกava i zapravo je mrtav kod.

Naredba break izlazi iz najbliลพe zatvorene petlje, ali nastavlja s radom funkcije. Naredba return odmah izlazi iz cijele funkcije, vraฤ‡ajuฤ‡i vrijednost i istovremeno zavrลกavajuฤ‡i svaku petlju unutar te funkcije.

AI asistenti poput ChatGPT-a generiraju kod za upravljanje petljom iz jednostavnog opisa, objaลกnjavaju zaลกto petlja zavrลกava rano, oznaฤavaju pogreลกno postavljene naredbe break ili continue i predlaลพu odgovara li pass, continue ili break vaลกoj logici.

Da. GitHub Copilot automatski dovrลกava naredbe break, continue i pass iz komentara ili okolnog koda. Agentic AI alati idu dalje, refaktorirajuฤ‡i tok petlje, uklanjajuฤ‡i mrtvi kod nakon breaka i automatski ispravljajuฤ‡i greลกke u kontroli toka u cijeloj datoteci.

Saลพmite ovu objavu uz: