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

Какво е 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
