Python for Loop

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.

Huvitavad Artiklid...