Uvod u Python ugniježđene petlje

Dobrodošli u još jedno poglavlje Python učenja - Nested Loops. Odličan način za uklanjanje petlje, ugniježđene petlje pokazale su se vrijednim u svakom programskom jeziku. Danas ćemo se posebno usredotočiti na Python - vrste, sintaksu i primjere. Dakle, krenimo.

Uglađene petlje

Bilo bi dobro kratko dotaknuti bazu Nested Loops-a općenito, prije nego što konkretno nastavimo s Python-om. Ako petlja postoji u tijelu neke druge petlje, naziva se ugniježđenom petljom. To znači da želimo kôd unutarnje petlje izvršiti više puta. Vanjska petlja kontrolira kroz koliko će iteracija unutarnje petlje proći. Osnovni primjer ugniježđene petlje je:

for (i=0; i<10; i++)
(
for (j=0; j<10; j++)
(
//This code will execute 100 times.
)
//This code will execute 10 times.
)

Ono što ovdje treba napomenuti jest da se svaka vrsta petlje može ugniježditi unutar druge petlje. Na primjer, petlja za vrijeme može se ugniježđiti unutar a za petlju ili obrnuto.

Python ugniježđene petlje

1) Gnjezdano zbog sintakse petlje

Osnovna sintaksa ugniježđene petlje u Pythonu je:

for (iterating_variable_1) in (sequence_1): #Outer Loop
for (iterating_variable_2) in (iterating_variable_1/sequence_2): #Inner Loop
(code to execute)

Primjer

for i in range(11): #line 1
for j in range(i): #line 2
print('*', end='') #line 3
print('') #line 4

Izlaz:

Tijek izvršenja

Pokušajmo razumjeti tijek izvršenja gore navedenog programa. U programu smo za ispis uzorka zvijezda koristili dvije iteracijske varijable i i j.

Kompajler počinje linijom 1. Nailazi na za petlju i funkciju raspona. Funkcija raspona u Python-u ispisuje niz itegornih brojeva od 0 do broja navedenog u argumentu. Broj argumenta je isključen iz polja. U našem slučaju će generirati niz (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10). Sada, prevoditelj zna da mora sljedeći skup izjava izvršiti 10 puta.

Kad se pomakne na liniju 2, nailazi na još jednu funkciju petlje i raspona. Imajte na umu da je argument ove funkcije raspona izračunata vrijednost naše iteracijske varijable i. Dakle, dinamički generira niz ovisno o vrijednosti i. Kad je i = 0, niz je prazan. Kad je i = 1, niz je (0). Kad je i = 2, niz je (0, 1) i tako dalje.

Dakle, broj izvršavanja retka 3 izravno ovisi o vrijednosti i. Primjetite dio 3. = '' red 3. Ovo će spriječiti Python ispisati linijski feed nakon svake zvijezde. Želimo samo dodavanje linija na kraju svake iteracije vanjske petlje. Stoga smo eksplicitno ispisali linijski feed u retku 4 našeg koda.

Dakle, sada ćemo pomno ispitati svaku ponavljanje ugniježđenice zbog petlje.

Vanjska iteracija petlje 1

I = 0, j = (), output is a blank line.

Vanjska iteracija petlje 2

I = 1, j = (0), output = *

Vanjska iteracija petlje 3

I = 2, j = (0, 1), output = **

Vanjska iteracija petlje 4

I = 3, j = (0, 1, 2), output = ***

,
,
,

Vanjska iteracija petlje 10

I = 9, j = (0, 1, 2, 3, 4, 5, 6, 7, 8), output = *********

Vanjska iteracija petlje 11

I = 10, j = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), output = **********

2) Gniježđeno dok petlje

Sintaksa

Sintaksa za gniježđenje dok je petlja u Python-u je:

while (expression_1): #Outer loop
(code to execute) #Optional
while (expression_2): #Inner loop
(code to execute)

Za razliku od for-petlje, petlja dok nema unaprijed sastavljeni iterabilni niz. Dok petlja kontinuirano izvršava kôd dok se izraz ne ocijeni istinitim. Dakle, programer uvijek mora imati na umu da ažurira iteracijsku varijablu / izraz, ili će u suprotnom petlja ući u način beskonačnog izvršenja.

Primjer

i=1 #line 1
while(i<=5): #line 2
j=5 #line 3
while(j>=i): #line 4
print(j, end=' ') #line 5
j-=1 #line 6
i+=1 #line 7
print() #line 8

Izlaz:

Tijek izvršenja

Redak 1 koda postavlja iteracijsku varijablu vanjske petlje na početnu vrijednost. Sljedeći je red početak vanjske, a petlje. Ima izraz i <= 5. Taj se izraz procjenjuje istinskom vrijednošću nakon svake iteracije. Izvršenje ulazi u petlju samo ako je uvjet istinit. Čim uvjet postane lažan, petlja se prekida.

Budući da je početna vrijednost I jednaka, uvjet u retku 2 je istinit. Dakle, prevodilac se pomiče na liniju 3 i postavlja iterirajuću varijablu j unutarnje petlje na 5. Linija 4 opet ima petlju s izrazom koji se ocjenjuje istinitim. Dakle, prevoditelj izvršava retke 5 i 6. Zatim se vraća natrag u red 4 i procjenjuje stanje. Ako je uvjet istinit, ponovno ulazi u red 5 i 6. Ako uvjet postane lažan, petlja se prekida, a sljedeći redovi koji se izvršavaju su retci 7 i 8. Isti se slijedi za vanjsku petlju.

Linije 6 i 7 vrlo su važne jer ažuriraju našu varijablu ponavljanja. Bez njih bi tok programa ušao u način beskonačnog izvođenja jer će izrazi dok petlje uvijek rezultirati istinitim.

Trebam li se slomiti, nastaviti ili proći

Kao i kod gotovo svih ostalih programskih jezika, i Python ima koncept prekida i nastavka. Te ključne riječi pomažu u ukidanju petlje ili preskakanju određene ponavljanja petlje. Python ima i drugu ključnu riječ - proći. Pogledajmo ove.

1) Pauza

Ključna riječ break znači da prevoditelj iskoči iz petlje i prekine njegovo izvršavanje.

Primjer

for i in range(5):
for j in range(5):
if i == j:
break
print(j, end='')
print('')

Izlaz:

Gornji program probija unutarnju petlju ako su vrijednosti I i j jednake. Ne izvršava daljnje iteracije petlje. To se dalje može razumjeti nastavkom izjave.

2) Nastavite

Ključna riječ nastavi označava prevodilac da preskoči trenutnu iteraciju petlje i nastavi sa sljedećom iteracijom.

Primjer

for i in range(5):
for j in range(5):
if i == j:
continue
print(j, end='')
print('')

Izlaz:

Primijetite da isti program, ali s naredbom nastavak umjesto prekida, ne prekida izvršenje petlje. To samo preskače trenutnu iteraciju.

3) prolaz

Ključna riječ prolaz zanimljiva je na Pythonu. To jednostavno znači ne raditi ništa. Koristi se kada je blok kôda potreban sintaktički, ali ne želite da se izvršava nijedna naredba. Jednostavno djeluje kao rezervirano mjesto.

Primjer

for i in range(5):
for j in range(5):
if i == j:
#I am not sure what to do when i equals j, so for now I will pass.
pass
print(j, end='')
print('')

Izlaz:

Zaključak

Petlje su od strateške važnosti da biste naučili izvršavati zadatak s minimalnim linijama koda. Ovo je samo osnovni uvod u petlje. Preporučuje se igrati više, kreativno se baviti i istraživati ​​potencijal petlje.

Preporučeni članci

Ovo je vodič za Python ugniježđene petlje. Ovdje smo raspravljali o ugnjetenim petljama Python-a sa sintaksom, primjerima, izlazom i izvedbom. Možete pogledati i sljedeći članak da biste saznali više -

  1. Okviri Python-a
  2. Kako instalirati Python
  3. Vodič za petlje u Pythonu
  4. Što je Java sučelje?
  5. Različite vrste petlji s njenim prednostima
  6. Petlje u VBScript sa primjerima

Kategorija: