Î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 val
este 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

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.
range
Obiectul 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 for
bucle 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 for
buclă poate avea și un else
bloc opțional . Piesa else
este executată în cazul în care elementele din secvența utilizată pentru epuizarea buclei.
Cuvântul break
cheie 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… else
declarație poate fi utilizată împreună cu break
cuvântul cheie pentru a rula else
blocul numai atunci când break
cuvâ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.