Python Циклы For и While: оператор перечисления, разрыва и продолжения
Что такое петля?
Циклы могут выполнять блок кода несколько раз, пока не будет выполнено определенное условие. Их использование довольно распространено в программировании. В отличие от других языков программирования, в которых есть цикл For, цикл while, do while и т. д.
Что такое цикл for?
Цикл for используется для перебора элементов последовательности. Он часто используется, когда у вас есть фрагмент кода, который вы хотите повторить «n» раз.
Что такое цикл while?
While Loop используется для повторения блока кода. Вместо однократного запуска блока кода он выполняет его несколько раз, пока не будет выполнено определенное условие.
Как использовать «цикл while»
Цикл while делает то же самое, что и «оператор if», но вместо однократного запуска блока кода он возвращается к точке, с которой он начал код, и повторяет весь процесс снова.
Синтаксис
while expression Statement
Пример:
# #Example file for working with loops # x=0 #define a while loop while(x <4): print(x) x = x+1
Ожидаемый результат:
0 1 2 3
- Строка кода 4: переменная x установлена в 0.
- Строка кода 7: Цикл while проверяет условие x<4. Текущее значение x равно 0. Условие истинно. Поток управления входит в цикл while
- Строка кода 8: печатается значение x.
- Строка кода 9: x увеличивается на 1. Поток управления возвращается к строке 7. Теперь значение x равно 1, что меньше 4. Условие истинно, и снова выполняется цикл while. Это продолжается до тех пор, пока x не станет равным 4 и условие while не станет ложным.
Как использовать «Цикл For»
In Python, «циклы for» называются итераторы.
Как и цикл while, «Цикл For» также используется для повторения программы.
Но в отличие от цикла while, который зависит от истинного или ложного условия. «Цикл For» зависит от элементов, которые он должен перебирать.
Пример:
# #Example file for working with loops # x=0 #define a while loop # while(x <4): # print x # x = x+1 #Define a for loop for x in range(2,7): print(x)
Ожидаемый результат:
2 3 4 5 6
Цикл for выполняет итерацию с номером, объявленным в диапазоне.
Например,
Для петли для x в диапазоне (2,7)
Когда этот код будет выполнен, он выведет число от 2 до 7 (2,3,4,5,6). В этом коде число 7 не считается внутри диапазона.
Циклы For также можно использовать для множества других вещей, а не только для чисел. Мы увидим тонкость в следующем разделе.
Как использовать цикл For для строки
На этом этапе мы увидим, как циклы for можно использовать не только для чисел, но и для других целей.
Пример:
#use a for loop over a collection Months = ["Jan","Feb","Mar","April","May","June"] for m in Months: print(m)
Ожидаемый результат:
Jan Feb Mar April May June
Строка кода 3: мы сохраняем месяцы («январь, февраль, март, апрель, май, июнь») в переменной Months.
Строка кода 4: мы повторяем цикл for для каждого значения в месяцах. Текущее значение месяцев хранится в переменной m.
Строка кода 5: Распечатайте месяц
Как использовать операторы разрыва в цикле For
Точка останова — это уникальная функция в цикле For, которая позволяет вам прервать или прекратить выполнение цикла for.
Пример:
#use a for loop over a collection #Months = ["Jan","Feb","Mar","April","May","June"] #for m in Months: #print m # use the break and continue statements for x in range (10,20): if (x == 15): break #if (x % 2 == 0) : continue print(x)
Ожидаемый результат:
10 11 12 13 14
В этом примере мы объявили числа от 10 до 20, но мы хотим, чтобы наш цикл for завершался на номере 15 и прекращал дальнейшее выполнение. Для этого мы объявляем функцию прерывания, определяя (x==15): Break, поэтому, как только код вызывает число 15, он завершает программу. Строка кода 10 объявляет переменную x в диапазоне (10, 20).
- В строке кода 11 объявляется условие для точки останова в x==15,
- Строка кода 12 проверяет и повторяет шаги, пока не достигнет номера 15.
- Строка кода 13. Распечатайте результат вывода.
Как использовать оператор continue в цикле For
Функция Continue, как следует из названия, завершит текущую итерацию цикла for, НО продолжит выполнение оставшихся итераций.
Пример
#use a for loop over a collection #Months = ["Jan","Feb","Mar","April","May","June"] #for m in Months: #print m # use the break and continue statements for x in range (10,20): #if (x == 15): break if (x % 5 == 0) : continue print(x)
Ожидаемый результат:
11 12 13 14 16 17 18 19
Оператор continue можно использовать в цикле for, когда вы хотите получить определенное значение из списка.
В нашем примере мы объявили значение 10-20, но между этими числами нам нужны только те числа, которые НЕ делятся на 5 или, другими словами, которые не дают ноль при делении на 5.
Итак, в наш диапазон (10,11, 12….19,20) попадают только 3 числа (10,15,20), которые делятся на 5, а остальные — нет.
Таким образом, за исключением номеров 10,15 и 20, цикл for не будет продолжаться и распечатывать эти числа в качестве вывода.
- В строке кода 10 объявляется переменная x для диапазона (10, 20).
- Строка кода 12 объявляет условие для x, разделенного на 5 = 0, продолжить
- Строка кода 13 распечатывает результат
Что такое enumerate() в Python?
перечислить() В PYTHON — это встроенная функция, используемая для присвоения индекса каждому элементу итерируемого объекта. Он добавляет цикл к итерируемым объектам, отслеживая текущий элемент, и возвращает объект в перечислимой форме. Этот объект можно использовать в цикле for для преобразования его в список с помощью метода list().
Пример:
Перечислить функцию используется для нумерации или индексирования членов списка.
Предположим, мы хотим выполнить нумерацию нашего месяца (январь, февраль, март,….июнь), поэтому мы объявляем переменную i, которая перечисляет числа, а m будет печатать номер месяца в списке.
#use a for loop over a collection Months = ["Jan","Feb","Mar","April","May","June"] for i, m in enumerate (Months): print(i,m) # use the break and continue statements #for x in range (10,20): #if (x == 15): break #if (x % 5 == 0) : continue #print x
Ожидаемый результат:
0 Jan 1 Feb 2 Mar 3 April 4 May 5 June
Когда код выполняется, выходные данные функции enumerate возвращают название месяца с индексным номером, например (0-январь), (1-февраль), (2-март) и т. д.
- В строке кода 3 объявляется список месяцев [январь, февраль,…июнь]
- Строка кода 4 объявляет переменные i и m для цикла For.
- Строка кода 5 распечатает результат и снова введет цикл For для оставшихся месяцев для подсчета.
Практический пример
Давайте посмотрим еще один пример того, как цикл For повторяет одно и то же утверждение снова и снова.
Python поиска | Рабочий кодекс для всех упражнений |
---|---|
Код для цикла while |
x=0 while (x<4): print (x) x= x+1 |
Простой пример цикла for |
x=0 for x in range (2,7): print (x) |
Использование цикла for в строке |
Months = ["Jan","Feb","Mar","April","May","June"] for m in (Months): print (m) |
Используйте оператор Break в цикле for |
for x in range (10,20): if (x == 15): break print (x) |
Использование оператора Continue в цикле for |
for x in range (10,20): if (x % 5 == 0): continue print (x) |
Код для «функции перечисления» с «циклом for» |
Months = ["Jan","Feb","Mar","April","May","June"] for i, m in enumerate (Months): print (i,m) |
Как использовать цикл for для повторения одного и того же оператора снова и снова
Вы можете использовать цикл for даже для повторения одного и того же оператора снова и снова. Здесь, в примере, мы трижды напечатали слово «guru99».
Пример: Чтобы повторить один и тот же оператор несколько раз, мы объявили число в переменной i (i в 123). Поэтому, когда вы запускаете код, как показано ниже, он печатает оператор (guru99), который во много раз превышает число, объявленное для нашей переменной в (i в 123).
for i in '123': print ("guru99",i,)
Ожидаемый результат:
guru99 1 guru99 2 guru99 3
Как и другие языки программирования, Python также использует цикл, но вместо использования ряда различных циклов он ограничен только двумя циклами: «цикл while» и «цикл for».
- Циклы while выполняются в зависимости от того, является ли условный оператор истинным или ложным.
- Циклы for называются итераторами, они перебирают элемент на основе набора условий.
- Python Циклы for также можно использовать для множества других вещей (указывая набор элементов, которые мы хотим перебрать)
- Точка останова используется в цикле For для прерывания или завершения программы в любой конкретной точке.
- Оператор Continue продолжит распечатывать оператор и распечатывает результат в соответствии с набором условий.
- Функция Enumerate в цикле for возвращает член коллекции, которую мы просматриваем, с индексным номером.
Python 2 Пример
Вышеуказанные коды Python 3 примера. Если вы хотите обкатать Python 2 пожалуйста, рассмотрите следующий код.
# How to use "While Loop" #Example file for working with loops # x=0 #define a while loop while(x <4): print x x = x+1 #How to use "For Loop" #Example file for working with loops # x=0 #define a while loop # while(x <4): # print x # x = x+1 #Define a for loop for x in range(2,7): print x #How to use For Loop for String #use a for loop over a collection Months = ["Jan","Feb","Mar","April","May","June"] for m in Months: print m #How to use break statements in For Loop #use a for loop over a collection #Months = ["Jan","Feb","Mar","April","May","June"] #for m in Months: #print m # use the break and continue statements for x in range (10,20): if (x == 15): break #if (x % 2 == 0) : continue print x #How to use "continue statement" in For Loop #use a for loop over a collection #Months = ["Jan","Feb","Mar","April","May","June"] #for m in Months: #print m # use the break and continue statements for x in range (10,20): #if (x == 15): break if (x % 5 == 0) : continue print x #How to use "enumerate" function for "For Loop" #use a for loop over a collection Months = ["Jan","Feb","Mar","April","May","June"] for i, m in enumerate (Months): print i,m # use the break and continue statements #for x in range (10,20): #if (x == 15): break #if (x % 5 == 0) : continue #print x
Вывод:
0 1 2 3 2 3 4 5 6 Jan Feb Mar April May June 10 11 12 13 14 11 12 13 14 16 17 18 19 0 Jan 1 Feb 2 Mar 3 April 4 May 5 June