Python Цикли for та while (з прикладами)

⚡ Розумний підсумок

Python Цикли повторюють блок коду, доки не буде виконано певну умову. Цикли for та while разом з операторами break, continue та enumerate контролюють кількість разів виконання ітерацій, як показано в прикладах нижче.

  • 🔁 Петлі: Цикл виконує блок коду багаторазово, доки умова його не зупинить.
  • 🔢 Для циклу: Цикл for виконує ітерацію по послідовності, такій як діапазон, список або рядок.
  • ♻️ Цикл while: Цикл while повторюється доти, доки його умова залишається істинною.
  • Перерву: Оператор break негайно виходить з циклу у вибраній точці.
  • ⏭️ Продовжити: Оператор continue пропускає поточну ітерацію та переходить до наступної.
  • 🔖 Перерахуйте: Функція enumerate() поєднує кожен елемент з індексом, поки looping.

Python Цикли for та while

Що таке Loop?

Цикли можуть виконувати блок коду кілька разів, доки не буде виконано певну умову. Їх використання досить поширене в програмуванні. На відміну від інших мов програмування, які мають цикл For, while, dowhile тощо.

Що таке цикл For?

Цикл for використовується для повторення елементів послідовності. Його часто використовують, коли у вас є фрагмент коду, який ви хочете повторити «n» кількість разів.

Що таке цикл While?

Цикл While використовується для повторення блоку коду. Замість того, щоб запускати блок коду один раз, він виконує блок коду кілька разів, доки не буде виконано певну умову.

Як використовувати «While Loop»

Цикл 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
  • Code Рядок 4: Змінна x встановлена ​​на 0
  • Code Рядок 7: Цикл While перевіряє умову x < 4. Поточне значення x дорівнює 0. Умова істинна. Потік керування входить у цикл while.
  • Code Рядок 8: Виводиться значення x
  • Code Рядок 9: x збільшується на 1. Потік керування повертається до рядка 7. Тепер значення x дорівнює 1, що менше за 4. Умова істинна, і знову виконується цикл while. Це продовжується, доки x не стане 4, а умова while не стане хибною.

Як використовувати «цикл For»

In Python, викликаються цикли for ітератори.

Як і цикл while, цикл For також використовується для повторення програми.

Але на відміну від циклу while, який залежить від умови true чи false. «Цикл 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 Loops також можна використовувати для набору інших речей, а не лише для числа. Ми побачимо тонкий у наступному розділі.

Як використовувати цикл 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

Code Рядок 3: Ми зберігаємо місяці («Січень, Лютий, Бер, Квітень, Травень, Червень») у змінній Months.

Code Рядок 4: Ми ітеруємо цикл for для кожного значення в Months. Поточне значення Months зберігається у змінній m.

Code Рядок 5: Вивести місяць

Як використовувати оператори break у циклі 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 і припинив подальше виконання. Для цього ми оголошуємо функцію break, визначивши (x==15): break, тому щойно код викличе число 15, програма завершиться. Code Рядок 10 оголошує змінну x у діапазоні (10, 20)

  • Code У рядку 11 оголошується умова для точки зупинки в x==15,
  • Code Рядок 12 перевіряє та повторює кроки, доки не досягне числа 15.
  • Code Рядок 13 Вивести результат у вивід

Як використовувати «інструкцію продовження» в циклі 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 і XNUMX, цикл for не буде продовжуватися і виводитиме ці числа як вихідні дані.

  • Code У рядку 10 оголосити змінну x для діапазону (10, 20)
  • Code Рядок 12 оголошує умову для x, поділеного на 5=0, продовження
  • Code рядок 13 вивести результат

Що таке enumerate(). Python?

enumerate() НА PYTHON — це вбудована функція, яка використовується для присвоєння індексу кожному елементу ітерованого об'єкта. Вона додає цикл до ітерованих об'єктів, зберігаючи при цьомуping track поточного елемента та повертає об'єкт у перелічуваній формі. Цей об'єкт можна використовувати в циклі 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- березень) тощо.

  • Code У рядку 3 оголошується список місяців [січ., лют.,…черв.]
  • Code У рядку 4 оголошуються змінні i та m для циклу For.
  • Code Рядок 5 виведе результат і знову увійде в цикл For для перерахування решти місяців.

Практичний приклад

Давайте подивимося ще один приклад циклу для повторення того самого оператора знову і знову.

Python петля Робочий Code для всіх вправ
Code цикл для while
x=0    
while (x<4):
    print (x)
    x= x+1
Простий приклад для циклу
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)
Code для «перерахування функцій» з «циклом 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 in 123).

for i in '123':
 print ("guru99",i,)

Очікуваний результат:

guru99 1
guru99 2
guru99 3

Як і інші мови програмування, Python також використовує цикл, але замість використання діапазону різних циклів він обмежений лише двома циклами «While» і «for».

  • Цикли While виконуються залежно від того, чи є умовний оператор істинним чи хибним.
  • Цикли For називаються ітераторами, вони повторюють елемент на основі набору умов
  • Python Цикли 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

Поширені запитання

Цикл for виконує ітерацію по відомій послідовності, такій як список або діапазон, тоді як цикл while продовжує виконуватися, доки його умова не стане хибною. Використовуйте for, коли вам відомі елементи, а while для повторення без обмежень.

Оператор break негайно завершує весь цикл, тоді як continue пропускає лише поточну ітерацію та переходить до наступної. Break повністю зупиняє цикл, тоді як continue продовжує його виконувати.

Оператор pass — це нульовий заповнювач, який нічого не робить. Він використовується там, де Python Синтаксис потребує оператора, але не вимагає жодних дій, таких як порожнє тіло циклу або заглушка, яку ви плануєте завершити пізніше.

Так. Блок циклу else виконується лише тоді, коли цикл завершується нормально без переривання. Це зручно для логіки пошуку, наприклад, для виведення повідомлення про не знайдено після сканування кожного елемента в послідовності.

Використовуйте while True: для нескінченного повторення, а потім вийдіть за допомогою оператора break, коли умова виконана. Python не має вбудованого циклу do-while, тому while True з break є поширеним способом його емуляції.

Оператор break завершує лише внутрішній цикл, який його містить, тому зовнішні цикли продовжують виконуватися. Щоб одночасно завершити кожен цикл, використовуйте змінну-прапорець або перемістіть цикли у функцію та поверніть значення.

Так. Помічники ШІ генерують цикли for та while з простого опису, пояснюють помилки, виявляють нескінченні цикли та помилки, що відхиляються на одиницю, а також пропонують чистіші варіанти, такі як спискові вирази або enumerate() для індексації.

Так. GitHub Copilot автоматично завершує цикли for та while, перериває, продовжує та перераховує з коментаря або сусіднього коду. Інструменти агентного штучного інтелекту йдуть далі, рефакторуючи цикли або автоматично виправляючи помилки в усьому файлі.

Підсумуйте цей пост за допомогою: