Циклы For и while в Python: оператор Enumerate, Break, Continue

Что такое петля?

Циклы могут выполнять блок кода несколько раз, пока не будет выполнено определенное условие. Их использование довольно распространено в программировании. В отличие от других языков программирования, в которых есть цикл 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»

В 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, объявлениеares список месяцев [январь, февраль,…июнь]
  • Строка кода 4, объявлениеares переменные 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, рассмотрите следующее:wing код.

# 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