„Python for Loop“

Šiame straipsnyje išmoksite kartoti elementų seką, naudodami skirtingus ciklo variantus.

Vaizdo įrašas: „Python for Loop“

Kas yra „Python“ kilpa?

„Python“ „for“ kilpa naudojama kartojant seką (sąrašą, paketą, eilutę) ar kitus kartojamus objektus. Kartojimas per seką vadinamas perėjimu.

Loop sintaksė

 for val iš eilės: for of

Čia valyra kintamasis, kuris kiekvieno iteracijos metu paima sekos elemento vertę.

Ciklas tęsiasi tol, kol pasieksime paskutinį elementą sekoje. „Loop“ turinys yra atskirtas nuo likusio kodo naudojant įtrauką.

„Loop“ schema

„Loop“ „Python“ schema

Pavyzdys: „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) 

Kai paleisite programą, išvestis bus:

 Suma yra 48

Range () funkcija

Naudodami range()funkciją, galime sugeneruoti skaičių seką . range(10)generuos skaičius nuo 0 iki 9 (10 skaičių).

Mes taip pat galime apibrėžti pradžios, pabaigos ir žingsnio dydį kaip range(start, stop,step_size). step_size pagal numatytuosius nustatymus yra 1, jei nenurodyta.

rangeObjektas yra "tinginys", tam tikra prasme, nes ji nesukuria kiekvieną skaičių, kad ji "yra", kai mes sukurti. Tačiau tai nėra iteratorius nes ji palaiko in, lenir __getitem__operacijos.

Ši funkcija atmintyje nesaugo visų verčių; tai būtų neefektyvu. Taigi jis prisimena pradžios, pabaigos, žingsnio dydį ir sugeneruoja kitą skaičių kelyje.

Norėdami priversti šią funkciją išleisti visus elementus, galime naudoti šią funkciją list().

Šis pavyzdys tai paaiškins.

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

Rezultatas

 diapazonas (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()Funkciją galime naudoti forkilpomis, norėdami kartoti skaičių seką. Ją galima derinti su len()funkcija, kad būtų galima kartoti seką naudojant indeksavimą. Štai pavyzdys.

 # 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))

Rezultatas

 Man patinka popas, man patinka rokas, man patinka džiazas

už kilpą su kita

forKilpa gali turėti papildomą elsebloką, taip pat. elseDalis yra vykdoma, jei sekoje elementai naudojami už kilpos išmetimo.

Raktinį breakžodį galima naudoti norint sustabdyti „for loop“. Tokiais atvejais kita dalis nepaisoma.

Taigi, „for loop“ kita dalis vykdoma, jei neįvyksta pertrauka.

Štai pavyzdys, kaip tai iliustruoti.

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

Kai paleisite programą, išvestis bus:

 0 1 5 Elementų neliko.

Čia „for loop“ spausdina sąrašo elementus, kol ciklas baigsis. Kai for for loop baigsis, jis įvykdo kodo bloką elseir spausdina jokių elementų.

Šis for… elseteiginys gali būti naudojamas kartu su breakraktiniu žodžiu elseblokui paleisti tik tada, kai breakraktinis žodis nebuvo vykdomas. Paimkime pavyzdį:

 # 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.')

Rezultatas

 Nerasta įrašo tokiu pavadinimu.

Įdomios straipsniai...