Python za zanko

V tem članku se boste naučili ponavljati zaporedje elementov z različnimi različicami zanke for.

Video: Python za zanko

Kaj je for zanka v Pythonu?

Zanka for v Pythonu se uporablja za iteracijo po zaporedju (seznam, nabor, niz) ali drugih ponovljivih predmetih. Iteracija nad zaporedjem se imenuje prehod.

Sintaksa for Loop

 za val v zaporedju: Telo for

Tu valje spremenljivka, ki zavzame vrednost postavke znotraj zaporedja na vsaki ponovitvi.

Zanka se nadaljuje, dokler ne pridemo do zadnjega elementa v zaporedju. Telo zanke for je ločeno od ostale kode z vdolbinami.

Diagram poteka za Loop

Diagram poteka za zanko v Pythonu

Primer: Python za zanko

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

Ko zaženete program, bo rezultat:

 Vsota je 48

Funkcija obsega ()

S pomočjo range()funkcije lahko ustvarimo zaporedje števil . range(10)bo ustvaril številke od 0 do 9 (10 številk).

Velikost začetka, postanka in koraka lahko določimo tudi kot range(start, stop,step_size). privzete vrednosti step_size na 1, če ni na voljo.

rangeObjekt "leni" v pomenu, saj ne ustvarja vsako številko, ki je "vsebuje", ko smo ga ustvarili. Vendar pa to ni iterator saj podpira in, lenin __getitem__operacije.

Ta funkcija ne shrani vseh vrednosti v pomnilnik; bilo bi neučinkovito. Tako si zapomni začetek, zaustavitev, velikost koraka in na poti ustvari naslednjo številko.

Če želimo funkcijo prisiliti, da izpiše vse elemente, jo lahko uporabimo list().

Naslednji primer bo to pojasnil.

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

Izhod

 obseg (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()Funkcijo v forzankah lahko uporabimo za ponovitev zaporedja števil. Lahko se kombinira s len()funkcijo za ponavljanje skozi zaporedje z uporabo indeksiranja. Tu je primer.

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

Izhod

 Všeč mi je pop Všeč mi je rock Všeč mi je jazz

za zanko z else

forZanka lahko izbirno elseblok kot dobro. elseDel se izvaja, če so postavke v zaporedju uporablja pri zanka izpuhov.

Ključno breakbesedo lahko uporabite za zaustavitev zanke for. V takih primerih se drugi del prezre.

Zato se del zanke for zažene, če ne pride do preloma.

Tu je primer, ki to ponazarja.

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

Ko zaženete program, bo rezultat:

 0 1 5 Ni preostalih predmetov.

Tu zanka for natisne elemente s seznama, dokler zanka ne izčrpa. Ko se zanka for izčrpa, izvede blok kode v elsein natisne No items left.

Ta for… elsestavek se lahko uporablja s breakključno besedo za zagon elsebloka le, če breakključna beseda ni bila izvedena. Vzemimo primer:

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

Izhod

 Najden ni noben vnos s tem imenom.

Zanimive Članki...