цыкл for у python. Сінтаксіс, ітэрацыя спісу, перапынак, працяг і іншыя функцыі

Цikl для python i цыкл пакуль – заявы праграмнае забеспячэнне мова, а менавіта: аператары ітэрацыі, няхайING паўтарыць код дадзены нумар часу.

Цикл За — синтаксис

Як ужо тлумачылася, вinclude for у Python - гэта ітэратар, заснаваны най за цыклідэнтычнасць. гэта ён дзейнічае па элементах картэжа и спіс слоўнік ключы і іншы ітэрацыйныя аб'екты.

Цыкл у Python пачынаецца з ключавога слова for, за якім ідзе адвольная назва зменнай, якая захоўвае значэнне наступнага аб'екта ў дадзенай паслядоўнасці. Агульны сінтаксіс for…in у python выглядае так:

для ў : else:      

Кампаненты «паслядоўнасці» пералічаныя адзін за адным пераменная цыкла. Дакладней, зменная паказвае на Такія элементы. Для ўсіх з іх "дзеянне" выконваецца.

Просты цыкл for у Python з канкрэтным прыкладам:

>>> мовы = ["C", "C++", "Perl", "Python"] >>> для x у мовах: ... print(x) ... C C++ Perl Python >>>

Блок else асаблівытыс. Калі а праграмістырабочы с Perl знаёмыы з ім, Што для тых, хто ўзаемадзейнічае с C і C++ — гэта новаўвядзенне. Семантычна гэта функцыі тідэнтычна у той час як цыкл.

Выконваецца толькі тады, калі цыкл не "спынены" аператарам break. Гэта значыць, ён выконваецца толькі пасля таго, як усе элементы прайшлі зададзеную паслядоўнасць.

Аператар разрыву ў python - разрыў

Калі праграма мае цыкл for неабходна перарывацьla заява перапынку, he поўныяна ідзеі праграма паток воля Працягбыць без activation ад іншага.

Часцей разбіваць фразы ў pythonуюцца з умоўнымі выказваннямі.

edibles = ["адбіўныя", "пельмені","яйкі","арэхі"] для ежы ў edibles: if food == "пельмені": print("Я не ем пельмені!") break print("Выдатна, смачна " + ежа) else: print("Добра, што не было пельменяў!") print("Вячэра скончылася.")

Калі вы запусціце гэты код, вы атрымаеце наступны вынік:

Выдатныя, смачныя адбіўныя. Я не ем пяльмені! Вячэра скончылася.

Прыбіраем «пельмені» з існуючага спісу дадзеных і атрымліваем:

Выдатныя, смачныя адбіўныя Выдатныя, смачныя яйкі Выдатныя, смачныя арэшкі Добра, што не было пельменяў! Вячэра скончылася.

аператар пропуску python - працяг

Дапусцім, антыпатыя спажыўца да такіх прадуктаў не настолькі вялікая, каб цалкам адмаўляцца ад іх спажывання. У выніку цыкл працягваецца з аператарам continue. Наступны скрыпт выкарыстоўвае аператар continue, каб працягнуць ітэрацыю па спісе «пяльменны кантакт».

edibles = ["адбіўныя", "пельмені","яйкі","арэхі"] для ежы ў edibles: if food == "пельмені": print("Я не ем пельмені!") continue print("Выдатна, смачна " + ежа) # гэта можа быць код для асалоды ад ежы :-) else: print("Я ненавіджу пельмені!") print("Вячэра скончылася.")

У ніжняй радку:

Выдатныя, смачныя адбіўныя. Я не ем пяльмені! Выдатныя, смачныя яйкі Выдатныя, смачныя арэхі Я ненавіджу пельмені! Вячэра скончылася.

Ітэрацыя па спісах з дапамогай функцыі range().

Калі вы хочаце атрымаць доступ да індэксаў спісу, незразумела, як выкарыстоўваць для гэтай мэты цыкл for. Можна атрымаць доступ да ўсіх элементаў, але індэкс элемента застанецца недаступным. Тым не менш, існуе спосаб доступу як да індэкса элемента, так і да самога элемента. Для гэтага выкарыстоўваецца функцыя range() у спалучэнні з функцыяй даўжыні len():

Фібаначы = [0,1,1,2,3,5,8,13,21] для i ў дыяпазоне (len(фібаначы)): print(i,фібаначы[i])

атрымаць:

0 0 1 1 2 1 3 2 4 3 5 5 6 8 7 13 8 21

Увага! Пры ўжыванні len() к list or tuple, атрымліваецца адпаведная колькасць элементаў зададзенай паслядоўнасці.

Цяжкасці перабору спісаў

Пры ітэрацыі па спісе рэкамендуецца пазбягаць дынамікі спісу ў целе цыкла. Для нагляднасці можам прапанаваць наступны варыянт:

колеры = ["чырвоны"] для i ў колерах: if i == "чырвоны": колеры += ["чорны"] if i == "чорны": колеры += ["белы"] друк(колеры)

Што адбываецца пры падачы заяўкі print(colours)?

['чырвоны', 'чорны', 'белы']

Каб пазбегнуць гэтага, рэкамендуецца ўзаемадзейнічаць з копіяй з дапамогай зрэзаў, як у прыкладзе ніжэй:

colors = ["чырвоны"] для i ў колерах[:]: if i == "чырвоны": колеры += ["чорны"] if i == "чорны": колеры += ["белы"] друк(колеры )

Вынік:

['Чырвоны чорны']

Спіс быў зменены colours, але гэта дзеянне не паўплывала на цыкл. Дадзеныя, якія трэба было паўтарыць, заставаліся нязменнымі падчас выканання цыкла.

Пералічыць у python 3

Enumerate - гэта ўбудаваная функцыя Python. Большасць пачаткоўцаў, а таксама некаторыя вопытныя праграмісты не ведаюць пра яго існаванне. Гэта дазваляе аўтаматычна падлічваць ітэрацыі цыкла. Напрыклад:

для лічыльніка, значэнне ў enumerate(some_list): print(counter, value)

функцыя enumerate таксама прымае неабавязковы аргумент (значэнне паходжання, прынятае па змаўчанні для 0). Што робіць яго яшчэ больш эфектыўным.

my_list = ['яблык', 'банан', 'вішня', 'персік'] для c, значэнне ў enumerate(my_list, 1): print(c, value) # Вынік: # 1 яблык # 2 банан # 3 вішня # 4 персіка

Пакінуць каментар