Обсъдихме основните типове данни, напредналите типове данни и условните оператори в Python в нашите предишни блогове. В този блог ще разгледаме цикли. Ако сте нови в Python, моля, започнете от първия блог, за да получите по-добро разбиране на тази тема.

Цикли в Python – съдържание:

  1. Цикли в Python
  2. Цикъл for в Python
  3. Цикли for в списък
  4. Итерация на множество с помощта на цикъл for
  5. Итерация на кортеж с помощта на цикъл for
  6. Вложени цикли в Python
  7. Цикли while в Python

Цикли в Python

Циклите се използват, когато е необходимо да се извърши задача повече от веднъж. Например, печатане на числа от 1 до 100 или по-добър пример би бил да се сумират всички елементи в списък или масив. Понякога е необходимо да се напишат повече от 1 цикъл или цикъл в цикъл. В Python написването на тези цикли е много просто и дори синтаксисът е лесен за разбиране. Както видяхме, в Python не е необходимо първо да декларираме променлива, преди да я използваме. Основното циклене започва с цикъл for. Нека разберем цикъла “for”.

Цикъл for в Python

В цикъл for имаме три неща, които трябва да бъдат споменати. Първото е началната стойност на променливата, върху която трябва да се извърши итерацията, спирането на условието и последното е с колко стъпки искате да увеличите или намалите итератора.

Нека видим синтаксиса на цикъл “for”:

# Цикъл For

for var in range(10):
	print(var)

for var in range(0,10,1):
	print(var)

В горния код можем да видим, че цикли for дават същия резултат. Синтаксисът в края, където предоставихме функцията range, има три аргумента, които обсъдихме в предишния параграф. В горния пример диапазонът е 0,10,1, където 0 е началната стойност на итератора, 10 е крайната стойност, но диапазонът всъщност итерара до 10-1, което е 9, а 1 е увеличението на итератора всеки път, когато цикълът се изпълнява.

Нека стартираме горната програма

Изход:
0
1
2
3
4
5
6
7
8
9

0
1
2
3
4
5
6
7
8
9

Както можем да видим от илюстрацията на изхода, печата числата от 0 до 9.

Цикли for в списък

В списък имаме колекция от елементи и по-долу е илюстрацията как да използваме цикли for, за да итерараме през списък.

X=[1,2,3,4,5,6]
for i in X:
	print(i)
Изход:
Това ще отпечата всички елементи в списъка.
1,2,3,4,5,6

За да включим индекса също при печатане, кодът е илюстриран по-долу.

X=[1,2,3,4,5,6] for i in range(len(X)): print(i,X[i]) [/code>

Това ще отпечата както индекса, така и стойността в списъка.

Има лесен начин да получите индекса и стойността, използвайки функцията enumerate. Използването на функцията enumerate е илюстрирано по-долу.

X=[1,2,3,4,5,6] for i,value in enumerate(X): print(i,value) [/code> Изход: 0,1 1,2 2,3 3,4 4,5 5,6 [/code>

Итерация на множество с помощта на цикъл for

Итерацията на множество е като итерацията на списък с помощта на цикъл for. Пример е илюстриран по-долу.

X={1,2,3,4,5,6} for i,value in enumerate(X): print(i,value) [/code> Изход: 0,1 1,2 2,3 3,4 4,5 5,6 [/code>

Итерация на кортеж с помощта на цикъл for

Итерацията на кортеж е като итерацията на списък с помощта на цикъл for. Пример е илюстриран по-долу.

X=(1,2,3,4,5,6) for i,value in enumerate(X): print(i,value) [/code> Изход: 0,1 1,2 2,3 3,4 4,5 5,6 [/code>

Итерация на речник с помощта на цикъл for

Итерацията на речник е различна от другите типове данни, тъй като речникът съдържа двойки ключ-стойност. Следователно, за да получим само ключовете, използваме dictionaryname.keys(), а за стойностите използваме dictionaryname.values(). Пример е илюстриран по-долу.

X={“1”:1,”2”:2} for key in X.keys(): print(key) for value in X.values(): print(value) for key,value in X.items(): print(key,value) [/code> Изход: 1 2 1 2 1,1 2,2 [/code>

Вложени цикли в Python

Вложените цикли са полезни при изграждането на брутално решение на даден проблем. Те увеличават времевата сложност на програмата и намаляват четимостта.

a = [1, 2] b = [10, 13] # получаване на числа, чийто продукт е 13 for i in a: for j in b: if i*j == 13: print(i, j) [/code>

В горния кодов блок определихме 2 списъка и всеки списък има колекция от числа. Основната цел беше да намерим какви числа ще произведат 13 от двата списъка и също да отпечатаме тези числа. За тази цел трябваше да итерараме през 2 списъка, следователно бяха използвани 2 цикъла for.

Алтернативен начин:

Има функция в itertools, която се нарича product. Това помага да се запази вложените цикли for, ако присъстват в програмата, четими. Примерът е илюстриран по-долу.

от itertools import product

a = [1, 2]

b = [10, 13]

# получаване на числа, чийто продукт е 13

for i, j in product(a, b):

if(i*j == 13): print(i, j) [/code>

Цикли while в Python

Досега само отпечатвахме изхода, но никога не даваме вход на нашата програма. В Python input() се използва за даване на вход на програмата. Примерът е илюстриран по-долу. Цикълът while се използва, когато искате да изпълните програма, ако условието е изпълнено. Примерите за цикли while са илюстрирани по-долу.

Печатане на 0-9 с помощта на цикъл while:

i = 0

while(i < 10): print(i) i += 1 [/code>

Както можете да видите, синтаксисът е while, последван от условие, а вътре в цикъла увеличаваме итератора в съответствие с желаното число.

Изход: 0 1 2 3 4 5 6 7 8 9 [/code>

В този блог разгледахме някои основи на цикличните оператори в python, следващите теми за функциите ще бъдат разгледани в следващия блог. Въпросът, който трябва да бъде решен, е даден по-долу.

loops_in_Python

Може да ви хареса и нашият Курс по JavaScript от начинаещ до напреднал.

Robert Whitney

Експерт по JavaScript и инструктор, който обучава ИТ отдели. Основната му цел е да повиши продуктивността на екипа, като учи другите как да си сътрудничат ефективно при програмирането.

View all posts →

Python Course From Beginner to Advanced in 11 blog posts:

  1. Питон кортежи, списъци, множества и речници. Част 3 от курса по Питон от начинаещ до напреднал в 11 публикации в блога
  2. Функции в Python. Част 7 от курса по Python за начинаещи до напреднали в 11 публикации в блога
  3. Въведение в курса по Python. Част 1 Курс по Python от начинаещ до напреднал в 11 блог поста
  4. Променливи и типове данни в Python. Част 2 от курса по Python за начинаещи до напреднали в 11 блог поста
  5. Питон множества и речници. Част 4 от курса по Питон за начинаещи до напреднали в 11 блог поста
  6. Питон класове и обекти. Част 9 Питон курс от начинаещ до напреднал в 11 блог поста
  7. Файлове в Python. Част 10 от курса по Python от начинаещ до напреднал в 11 публикации в блог.
  8. Цикли в Python. Част 6 от курса по Python от начинаещ до напреднал в 11 блог поста
  9. Разширени функции в Python. Част 8 от курса по Python от начинаещ до напреднал в 11 блог публикации