Python pentru buclă

În acest articol, veți învăța să repetați o secvență de elemente folosind diferitele variații ale buclei for.

Video: Python pentru buclă

Ce este pentru bucla în Python?

Bucla for din Python este utilizată pentru a itera o secvență (listă, tuplu, șir) sau alte obiecte iterabile. Iterarea peste o secvență se numește traversare.

Sintaxa lui pentru Loop

 pentru val în ordine: Corpul pentru

Aici valeste variabila care ia valoarea elementului din secvența de pe fiecare iterație.

Bucla continuă până când ajungem la ultimul element din secvență. Corpul buclei for este separat de restul codului folosind indentare.

Diagrama de flux pentru Loop

Diagrama de flux pentru Loop în Python

Exemplu: Python for Loop

 # Program to find the sum of all numbers stored in a list # List of numbers numbers = (6, 5, 3, 8, 4, 2, 5, 4, 11) # variable to store the sum sum = 0 # iterate over the list for val in numbers: sum = sum+val print("The sum is", sum) 

Când rulați programul, ieșirea va fi:

 Suma este 48

Funcția range ()

Putem genera o secvență de numere folosind range()funcția. range(10)va genera numere de la 0 la 9 (10 numere).

Putem defini , de asemenea, de pornire, oprire și dimensiunea pas ca range(start, stop,step_size). step_size implicit la 1 dacă nu este furnizat.

rangeObiectul este „leneș“ , într - un sens , deoarece nu generează fiecare număr pe care - l „conține“ , atunci când vom crea. Cu toate acestea, nu este un iterator deoarece susține in, lenși __getitem__operații.

Această funcție nu stochează toate valorile în memorie; ar fi ineficient. Deci, își amintește începutul, oprirea, mărimea pasului și generează următorul număr din mers.

Pentru a forța această funcție să scoată toate articolele, putem folosi funcția list().

Următorul exemplu va clarifica acest lucru.

 print(range(10)) print(list(range(10))) print(list(range(2, 8))) print(list(range(2, 20, 3)))

Ieșire

 interval (0, 10) (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (2, 3, 4, 5, 6, 7) (2, 5, 8, 11, 14 , 17)

Putem folosi range()funcția în forbucle pentru a itera printr-o succesiune de numere. Poate fi combinat cu len()funcția de a itera printr-o secvență folosind indexarea. Iată un exemplu.

 # Program to iterate through a list using indexing genre = ('pop', 'rock', 'jazz') # iterate over the list using index for i in range(len(genre)): print("I like", genre(i))

Ieșire

 Îmi place popul Îmi place rockul Îmi place jazz-ul

pentru bucla cu else

O forbuclă poate avea și un elsebloc opțional . Piesa elseeste executată în cazul în care elementele din secvența utilizată pentru epuizarea buclei.

Cuvântul breakcheie poate fi folosit pentru a opri o buclă for. În astfel de cazuri, partea else este ignorată.

Prin urmare, o parte pentru bucla else se execută dacă nu are loc nicio pauză.

Iată un exemplu pentru a ilustra acest lucru.

 digits = (0, 1, 5) for i in digits: print(i) else: print("No items left.")

Când rulați programul, ieșirea va fi:

 0 1 5 Nu au mai rămas articole.

Aici, bucla pentru imprimă elemente ale listei până când bucla se epuizează. Când bucla for se epuizează, execută blocul de cod din elseși nu imprimă articole rămase.

Această for… elsedeclarație poate fi utilizată împreună cu breakcuvântul cheie pentru a rula elseblocul numai atunci când breakcuvântul cheie nu a fost executat. Să luăm un exemplu:

 # program to display student's marks from record student_name = 'Soyuj' marks = ('James': 90, 'Jules': 55, 'Arthur': 77) for student in marks: if student == student_name: print(marks(student)) break else: print('No entry with that name found.')

Ieșire

 Nu a fost găsită nicio intrare cu acel nume.

Articole interesante...