Питхон за Лооп

У овом чланку ћете научити да прелазите кроз низ елемената користећи различите варијације фор петље.

Видео: Питхон за Лооп

Шта је фор петља у Питхону?

Петља фор у Питхону користи се за итерацију кроз секвенцу (списак, скуп, низ) или друге итерабилне објекте. Итерирање над низом назива се обилажење.

Синтакса фор Лооп

 за вал у низу: Тело фор

Овде valје променљива која узима вредност ставке унутар низа на свакој итерацији.

Петља се наставља све док не дођемо до последње ставке у низу. Тело фор петље је одвојено од остатка кода помоћу увлачења.

Дијаграм тока за Лооп

Дијаграм тока за Лооп у Питхону

Пример: Питхон за Лооп

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

Када покренете програм, излаз ће бити:

 Збир је 48

Функција опсега ()

Можемо генерисати низ бројева помоћу range()функције. range(10)генерисаће бројеве од 0 до 9 (10 бројева).

Такође можемо дефинисати старт, стоп и величину корака као range(start, stop,step_size). степ_сизе подразумевано је 1 ако није наведен.

rangeОбјекат је "лењ" у смислу јер не генерише сваки број да "садржи" када смо га створити. Међутим, то није итератор јер подржава in, lenи __getitem__операције.

Ова функција не чува све вредности у меморији; било би неефикасно. Дакле, памти почетак, заустављање, величину корака и генерише следећи број у покрету.

Да бисмо присилили ову функцију да избаци све ставке, можемо је користити list().

Следећи пример ће то појаснити.

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

Оутпут

 опсег (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()Функцију у forпетљама можемо користити за итерацију кроз низ бројева. Може се комбиновати са len()функцијом за итерацију кроз низ помоћу индексирања. Ево примера.

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

Оутпут

 Волим поп Волим роцк Волим јазз

фор петља са елсе

forПетља може имати опциони elseблок, као и. elseДео је извршити уколико ставке у секвенци користи за петље издувне цеви.

Кључна breakреч се може користити за заустављање фор петље. У таквим случајевима, други део се занемарује.

Дакле, остали део фор петље ради ако се не догоди прекид.

Ево примера који то илуструје.

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

Када покренете програм, излаз ће бити:

 0 1 5 Нема преосталих предмета.

Овде петља фор штампа ставке са листе све док се петља не исцрпи. Када се петља фор исцрпи, извршава блок кода у elseи исписује Нема преосталих ставки.

Овај for… elseизраз се може користити са breakкључном речи за покретање elseблока само када breakкључна реч није извршена. Узмимо пример:

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

Оутпут

 Није пронађен ниједан запис са тим именом.

Занимљиви Чланци...