Selles artiklis saate õppida kordama elementide järjestust, kasutades silmu erinevaid variatsioone.
Video: Python for Loop
Mis on Pythoni silmus?
Pythoni for-tsüklit kasutatakse järjestuse (loendi, dupleksi, stringi) või muude itereeritavate objektide kordamiseks. Järjestuse kordumist nimetatakse läbimiseks.
Loopi süntaks
for val järjestuses: for of
Siin valon muutuja, mis võtab igal iteratsioonil järjestuse sees oleva üksuse väärtuse.
Silmus jätkub, kuni jõuame järjestuse viimase üksuseni. Silmuse for for body eraldatakse ülejäänud koodist taande abil.
Voodiagramm silmuse jaoks
Voodiagramm for for Loop Pythonis
Näide: 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)
Programmi käivitamisel on väljund järgmine:
Summa on 48
Funktsioon vahemik ()
range()Funktsiooni abil saame genereerida arvude jada . range(10)genereerib numbrid vahemikus 0 kuni 9 (10 numbrit).
Samuti võime määratleda alguse, peatuse ja sammu suuruse range(start, stop,step_size). step_size on vaikimisi väärtus 1, kui seda pole esitatud.
rangeObjekt on "laisk" mõnes mõttes, sest see ei tekita iga number, et see "sisaldab", kui me luua. Kuid see ei ole iteraatoris kuna see toetab in, lenja __getitem__operatsioone.
See funktsioon ei salvesta kõiki väärtusi mällu; see oleks ebaefektiivne. Nii et see mäletab algust, peatust, sammu suurust ja genereerib järgmise numbri liikvel olles.
Selle funktsiooni sundimiseks kõigi üksuste väljastamiseks saame seda funktsiooni kasutada list().
Järgmine näide selgitab seda.
print(range(10)) print(list(range(10))) print(list(range(2, 8))) print(list(range(2, 20, 3)))
Väljund
vahemik (0, 10) (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (2, 3, 4, 5, 6, 7) (2, 5, 8, 11, 14 , 17)
range()Funktsiooni saab kasutada fortsüklites arvude järjestuse kordamiseks. Seda saab kombineerida len()funktsiooniga, et indekseerimise abil järjestuse kaudu itereerida. Siin on näide.
# 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))
Väljund
Mulle meeldib pop, mulle meeldib rokk, mulle meeldib džäss
silmuse jaoks muuga
forLoop võib olla valikuline elseploki samuti. elseOsa täidetakse juhul, kui objektide järjestust kasutatakse silmus heitgaasid.
breakMärksõna saab peatada jaoks silmus. Sellistel juhtudel eiratakse teist osa.
Seega töötab for for loopi teine osa, kui katkestust ei toimu.
Siin on näide selle illustreerimiseks.
digits = (0, 1, 5) for i in digits: print(i) else: print("No items left.")
Programmi käivitamisel on väljund järgmine:
0 1 5 Üksusi pole jäänud.
Siin prindib for for loop loendi üksusi seni, kuni silmus ammendub. Kui for loop tühjeneb, käivitab see koodiploki elseja prindib ühtegi üksust alles.
Seda for… elselauset saab kasutada koos breakmärksõnaga elseploki käivitamiseks ainult siis, kui breakmärksõna ei käivitatud. Võtame näite:
# 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.')
Väljund
Selle nimega kirjet ei leitud.








