Python за Loop

В тази статия ще се научите да преглеждате поредица от елементи, като използвате различните варианти на цикъл for.

Видео: Python за Loop

Какво е за цикъл в Python?

Цикълът for в Python се използва за итерация над последователност (списък, кортеж, низ) или други обекти, които могат да се итерират. Итерацията над последователност се нарича обхождане.

Синтаксис на за Loop

 за val в последователност: Тяло на for

Тук valе променливата, която приема стойността на елемента в последователността на всяка итерация.

Цикълът продължава, докато достигнем последния елемент от последователността. Тялото на цикъл for е отделено от останалата част на кода с помощта на отстъп.

Блок-схема на Loop

Блок-схема на Loop в Python

Пример: Python за 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) 

Когато стартирате програмата, изходът ще бъде:

 Сумата е 48

Функцията range ()

Можем да генерираме поредица от числа с помощта на 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))

Изход

 Харесвам поп Харесвам рок Харесвам джаз

за цикъл с else

А forцикъл може да има допълнителен elseблок, както добре. В elseчаст е изпълнена, ако елементите в последователността, използвани в продължение на контур изпускателна система.

В breakключова дума може да се използва за да се спре за цикъл. В такива случаи останалата част се игнорира.

Следователно, друга част на цикъл for се изпълнява, ако не се получи прекъсване.

Ето пример, който илюстрира това.

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

Когато стартирате програмата, изходът ще бъде:

 0 1 5 Няма останали елементи.

Тук цикълът for отпечатва елементи от списъка, докато цикълът се изчерпи. Когато цикълът for изчерпва, той изпълнява блока с код в 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.')

Изход

 Не е намерен запис с това име.

Интересни статии...