Python Цикли For и While (с примери)

⚡ Умно обобщение

Python Циклите повтарят блок от код, докато не бъде изпълнено определено условие. Цикълите for и while, заедно с операторите break, continue и enumerate, контролират колко пъти се изпълняват итерациите, както показват примерите по-долу.

  • 🔁 Цикли: Цикълът изпълнява блок от код многократно, докато условието му не го спре.
  • 🔢 За цикъл: Цикълът for итерира върху последователност, като например диапазон, списък или низ.
  • ️ Докато цикъл: Цикълът while се повтаря, докато условието му остава вярно.
  • ⛔ Прекъсване: Операторът break излиза от цикъл незабавно в избрана точка.
  • ⏭️ Продължи: Операторът continue пропуска текущата итерация и преминава към следващата.
  • 🔖 Избройте: Функцията enumerate() сдвоява всеки елемент с индекс, докато looping.

Python Цикли For и While

Какво е Loop?

Циклите могат да изпълняват блок от код няколко пъти, докато не бъде изпълнено определено условие. Тяхната употреба е доста често срещана в програмирането. За разлика от други езици за програмиране, които имат For Loop, while loop, dowhile и т.н.

Какво е For Loop?

Цикълът for се използва за итерация на елементи от последователност. Често се използва, когато имате част от кода, който искате да повторите "n" брой пъти.

Какво е While Loop?

Докато цикълът се използва за повтаряне на блок от код. Вместо да изпълнява кодовия блок веднъж, той изпълнява кодовия блок няколко пъти, докато не бъде изпълнено определено условие.

Как да използвате "While Loop"

Докато цикълът прави точно същото нещо, което прави „изявлението 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 Loop“

In Python, се извикват „for цикли“. итератори.

Точно като цикъла while, „For Loop“ също се използва за повторение на програмата.

Но за разлика от цикъла while, който зависи от условието true или false. „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)

Очакван резултат:

2
3
4
5
6

For Loop итерира с число, декларирано в диапазона.

Например,

За Loop за x в диапазон (2,7)

Когато този код се изпълни, той ще отпечата числото между 2 и 7 (2,3,4,5,6). В този код номер 7 не се счита вътре в диапазона.

For Loops може да се използва и за набор от други неща, а не само за число. Ще видим тънък в следващия раздел.

Как да използвате For Loop за низ

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

Пример:

#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: Отпечатайте месеца

Как да използвате изрази за прекъсване в For Loop

Breakpoint е уникална функция във For Loop, която ви позволява да прекъснете или прекратите изпълнението на 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 Отпечатайте резултата в изхода

Как да използвате „continue statement“ в For Loop

Функцията 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 е вградена функция, използвана за присвояване на индекс на всеки елемент от итерируемия обект. Тя добавя цикъл към итерируемите обекти, докато keeping 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

Когато кодът се изпълни, изходът на функцията за изброяване връща името на месеца с номер на индекс като (0-януари), (1-февруари), (2- март) и т.н.

  • Code Ред 3 декларира списъка с месеци [ януари, февруари,… юни]
  • Code Ред 4 декларира променливите i и m за цикъла For
  • Code Ред 5 ще отпечата резултата и отново ще влезе в цикъла For за останалите месеци, за да се изброят

Практически пример

Нека видим друг пример за For Loop, за да повтаряте едно и също твърдение отново и отново.

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 в 123).

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

Очакван резултат:

guru99 1
guru99 2
guru99 3

Подобно на други езици за програмиране, Python също използва цикъл, но вместо да използва набор от различни цикли, той е ограничен само до два цикъла „While цикъл“ и „for цикъл“.

  • Докато циклите се изпълняват въз основа на това дали условният оператор е верен или неверен.
  • Циклите for се наричат ​​итератори, те итерират елемента въз основа на зададеното условие
  • Python Циклите for могат да се използват и за набор от различни други неща (посочване на колекцията от елементи, които искаме да превъртим)
  • Точката на прекъсване се използва във For Loop за прекъсване или прекратяване на програмата във всяка конкретна точка
  • Continue statement ще продължи да отпечатва израза и ще отпечата резултата според зададеното условие
  • Функцията 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 излиза само от най-вътрешния цикъл, който го съдържа, така че външните цикли продължават да се изпълняват. За да излезете от всеки цикъл наведнъж, използвайте променлива flag или преместете циклите във функция и върнете резултата.

Да. Асистентите с изкуствен интелект генерират цикли for и while от обикновено описание, обясняват грешки, забелязват безкрайни цикли и грешки, които се различават едно от едно, и предлагат по-чисти опции като списъчни познания или enumerate() за индексиране.

Да. GitHub Copilot автоматично довършва цикли for и while, прекъсва, продължава и изброява от коментар или близък код. Инструментите за агентен изкуствен интелект отиват по-далеч, като рефакторират цикли или поправят грешки в целия файл автоматично.

Обобщете тази публикация с: