Цыклы - важная асаблівасць любой мовы праграмавання альбо сцэнарыяў. Наяўнасць магчымасці выконваць заданне некалькі разоў - аснова любой мовы.
У Python цыкл дасягаецца выкарыстаннем for
і while
цыклы і ў гэтым артыкуле мы разгледзім, як іх выкарыстоўваць, на прыкладах.
for
цыкл у python можна выкарыстоўваць рознымі спосабамі. Адзін просты і найбольш распаўсюджаны спосаб ітэрацыі па калекцыі.
for i in collection:
statement
Калекцыя можа быць спісам, наборам, дыяпазонам і г.д. i - гэта зменная, якая прымае значэнне элемента, які ітэруецца.
my_list = [1, 2, 3, 4, 5] for i in my_list:
print('Value is:', i)
Выхад:
Value is 1 Value is 2 Value is 3 Value is 4 Value is 5
Вы бачыце, як спіс паўтараецца ад пачатку да канца.
Метад дыяпазону ў python выкарыстоўваецца для стварэння паслядоўнасці ў дыяпазоне ад пэўнага мяжы. Дапусцім, у вас няма спісу, але вы хочаце пракруціць што-небудзь пэўную колькасць разоў. Вы можаце выкарыстоўваць range()
метад.
for i in range(5):
print(i)
Выхад:
0 1 2 3 4
нататка:значэнні ад 0 да 4, а не ад 0 да 5.range()
Функцыя вяртае паслядоўнасць лікаў, пачынаючы з 0 па змаўчанні і павялічваючы на 1 (па змаўчанні) і заканчваючы зададзеным лікам.
Калі мы хацелі мець іншае пачатковае значэнне і іншае значэнне прыросту, мы выкарыстоўваем:
for i in range(10, 30, 5): print(x)
Выхад:
10 15 20 25
У прыведзеным вышэй прыкладзе мы пачынаем з 10, заканчваем на 25 і павялічваем на 5.
else
ключавое слова ў for
цыкл вызначае блок кода, які трэба выканаць пасля завяршэння цыкла.
for i in range(6): print(i) else: print('Finished looping.')
Выхад:
0 1 2 3 4 5 Finished looping.
нататка:У if
заява, інакш блок выконваецца толькі тады, калі ўмова ілжывая, але ў for
цыкле, else
блок заўсёды выконваецца.Мы можам мець for
пятля ўнутры іншага for
пятля. Гэта называецца ўкладзеным цыклам.
'Унутраны цыкл' будзе выконвацца адзін раз для кожнай ітэрацыі 'знешняга цыкла'.
Прыклад:
numbers = [1, 2, 3] chars = ['a', 'b', 'c'] for i in numbers: for y in chars:
print(x, y)
Выхад:
1 a 1 b 1 c 2 a 2 b 2 c 3 a 3 b 3 c
while
цыкл выконвае набор выказванняў, пакуль умова ісціна.
Напрыклад:
i = 1 while i < 5:
print('Hello world')
i = i + 1
нататка:нам трэба павялічыць значэнне i, інакш цыкл будзе выконвацца назаўсёды.Аператар else у межах while
цыкл выконваецца адзін раз, калі ўмова ўжо не адпавядае рэчаіснасці.
Напрыклад:
i = 1 while i < 5:
print('Hello world')
i = i + 1 else:
print('The execution has ended')
Выхад:
Hello world Hello world Hello world Hello world The execution has ended
Аператар break выкарыстоўваецца, калі вы хочаце разарваць выкананне цыкла ў пэўны момант.
У наступным прыкладзе мы хочам спыніць цыкл, калі сустракаем сімвал 'c':
my_list = ['a', 'b', 'c', 'd', 'e'] for i in my_list:
print(i)
if i == 'c':
print(''c' encountered. Breaking the loop')
break
Выхад:
a b c 'c' encountered. Breaking the loop
Ключавое слова continue выкарыстоўваецца для прапускання выказвання і працягу астатняй часткі цыкла для пэўнай ітэрацыі.
У прыведзеным ніжэй прыкладзе мы хочам працягнуць цыкл, калі сустрэнем 'c':
my_list = ['a', 'b', 'c', 'd', 'e'] for i in my_list:
if i == 'c':
continue
print(i)
Выхад:
a b d e
Звярніце ўвагу, што 'с' не друкуецца. Цыкл працягвае друкаваць 'd' і 'e'.
for
і while
завесы выкарыстоўваюцца для ітэрацыіfor
цыкл у python таксама можа выкарыстоўвацца з range()
метад. Вы можаце ўказаць як ніжні, так і верхні мяжы, альбо толькі верхні. У апошнім выпадку 0 будзе лічыцца ніжняй мяжойfor
цыкл, калі вы ведаеце, колькі разоў цыкл павінен быць выкананыwhile
цыкл мае ўмову і працуе, пакуль умова не будзе ілжывайwhile
цыкл заўсёды павінен мець механізм, каб парушыць стан, інакш цыкл будзе працаваць вечнаelse
блок можа выкарыстоўвацца як з for
і while
пятля. Ён заўсёды выконваецца.break
ключавое слова выкарыстоўваецца для спынення выканання. Далейшая ітэрацыя не будзе праводзіцца, калі сустрэнецца ключавое слова break.continue
ключавое слова прапускае бягучую ітэрацыю і пераходзіць непасрэдна да наступнай ітэрацыі.