барои ҳалқа дар python. Синтаксис, такрори рӯйхат, шикастан, идома додан ва дигар хусусиятҳо

Цikl барои python i давр дар ҳоле ки - изҳорот нармафзор забон, маҳз: операторҳои такрорӣ, бигзоредИнҳоянд рамзи такрор рақами додашуда вақт.

Цикл Барои - синтаксис

Тавре ки аллакай шарҳ дода шуд, вдохил барои дар Python як iterator дар асосий дар як даврашахсияти. вай аст амал мекунад аз ҷониби унсурҳои навор и рӯйхат, луцат калидҳо ва дигар объектҳои такроршаванда.

Давра дар Python бо калимаи калидии for оғоз мешавад ва пас аз он номи тағирёбандаи ихтиёрӣ, ки арзиши объекти ояндаро дар пайдарпаии додашуда нигоҳ медорад. Синтаксиси умумии for…in дар python чунин менамояд:

барои дар: else:      

Унсурњои "пайдарпаймоҳо" номбар шудаанд пай дар пай тағирёбандаи давра. Балки, Тағйирёбанда ба чунин унсурҳо. Барои ҳама аз онҳо "амал" иҷро карда мешавад.

Як ҳалқаи оддӣ дар Python бо мисоли мушаххас:

>>> забонҳо = ["C", "C++", "Perl", "Python"] >>> барои x бо забонҳо: ... print(x) ... C C++ Perl Python >>>

Блоки дигар махсус астуми. Агар а барномасозыкор мекунанд с Perl шинос асты бо ӯ, он барои онҳое, ки бо ҳам муошират мекунанд с C ва C++ - ин навоварӣ аст. Аз ҷиҳати маъно функсияҳои тякхела дар ҳоле ки ҳалқа.

Танҳо вақте иҷро карда мешавад, ки ҳалқа аз ҷониби изҳороти break "қатъ нашудааст". Яъне, он танҳо пас аз гузаштани ҳама элементҳо аз пайдарпаии муқарраршуда иҷро карда мешавад.

Оператори танаффус дар python - танаффус

Агар барнома даври for дошта бошад зарур аст таркишба изҳороти танаффус, he пурраон меравадва барнома ҷараён хоҳад даврба бе фаъолона аз дигар.

Бештар ибораҳоро дар python вайрон кунедуйтся бо изҳороти шартӣ.

yebles = ["chops", "самбӯса","тухм","чормағз"] барои хӯрок дар хӯрокворӣ: агар хӯрок == "самбӯса": print("Ман самбӯса намехӯрам!") break print("Аъло, лазиз " + хӯрок) дигаре: print("Хуб аст, ки самбӯса набуд!") print("Хӯроки шом тамом шуд.")

Агар шумо ин кодро иҷро кунед, шумо натиҷаи зеринро мегиред:

Пиёзҳои олӣ, болаззат. Ман самбӯса намехӯрам! Хӯроки шом тамом шуд.

Мо "самбӯса" -ро аз рӯйхати мавҷудаи маълумот хориҷ мекунем ва ба даст меорем:

Аъло, котлетҳои болаззат Тухми аъло, болаззат Чормағзҳои аълосифат Хуб, ки самбӯса набуд! Хӯроки шом тамом шуд.

оператори гузариш python - идома диҳед

Биёед бигӯем, ки антипатияи корбар ба чунин маҳсулот он қадар зиёд нест, ки аз истеъмоли онҳо комилан даст кашад. Дар натиҷа, ҳалқа бо оператор идома меёбад continue. Скрипти зерин изҳоротро истифода мебарад continue, барои идома додани такрори рӯйхат дар бораи "тамоси самбӯса".

demedles = ["chops", "самбӯса","тухм","чормағз"] барои хӯрок дар хӯрокворӣ: агар хӯрок == "самбӯса": print("Ман самбӯса намехӯрам!") идома чоп кунед("Аъло, " + ғизои лазиз) # ин метавонад рамзи лаззат бурдан аз хӯрок бошад :-) дигаре: print("Ман самбӯсаро бад мебинам!") print("Хӯроки шом тамом шуд.")

Хати рост:

Пиёзҳои олӣ, болаззат. Ман самбӯса намехӯрам! Тухми олиҷаноб, болаззат Чормағзҳои олиҷаноб Ман аз самбӯса нафрат дорам! Хӯроки шом тамом шуд.

Итератсия бар рӯйхатҳо бо функсияи range()

Агар шумо хоҳед, ки ба индексҳои рӯйхат дастрасӣ пайдо кунед, маълум нест, ки чӣ тавр барои ин мақсад ҳалқаи for-ро истифода баред. Дастрасӣ ба ҳама унсурҳо имконпазир аст, аммо индекси элемент дастнорас боқӣ мемонад. Бо вуҷуди ин, усули дастрасӣ ҳам ба индекси элемент ва худи элемент вуҷуд дорад. Бо ин мақсад, функсия истифода мешавад range() дар якҷоягӣ бо функсияи дарозӣ len():

фибоначӣ = [0,1,1,2,3,5,8,13,21] барои i дар диапазон(len(Fibonacci)): чоп (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 дар рангҳо: агар i == "сурх": рангҳо += ["сиёҳ"] агар i == "сиёҳ": рангҳо += ["сафед"] чоп (рангҳо)

Ҳангоми муроҷиат чӣ мешавад print(colours)?

['сурх', 'сиёҳ', 'сафед']

Барои пешгирӣ кардани ин, тавсия дода мешавад, ки бо нусхабардорӣ бо истифода аз буридаҳо, тавре ки дар мисоли дар поён оварда шудааст, ҳамкорӣ кунед:

рангҳо = ["сурх"] барои i дар ранг[:]: агар i == "сурх": рангҳо += ["сиёҳ"] агар i == "сиёҳ": рангҳо += ["сафед"] чоп (рангҳо )

Натиҷа:

['Сиёҳ Сурх']

Рӯйхат иваз карда шуд colours, аммо ин амал ба давра таъсир нарасонд. Маълумоте, ки бояд такрор карда шавад, дар давоми иҷрои давра бетағйир монданд.

Дар python 3 номбар кунед

Enumerate функсияи дарунсохт Python аст. Аксари навгониҳо, инчунин баъзе барномасозони ботаҷриба, аз мавҷудияти он огоҳ нестанд. Он ба шумо имкон медиҳад, ки такрори давраро ба таври худкор ҳисоб кунед. Барои намуна:

барои ҳисобкунак, арзиш дар номбар кардан(баъзе_рӯйхат): чоп (ҳисобкунак, арзиш)

функсия enumerate инчунин як далели ихтиёриро мегирад (қимати ибтидо, ки бо нобаёнӣ барои 0). Ки онро боз хам самараноктар мегардонад.

my_list = ['себ', 'банан', 'олуча', 'шафтолу'] барои c, арзиш дар номбаршуда (рӯйхати ман, 1): чоп (c, арзиш) # Натиҷа: # 1 себ # 2 банан # 3 гелос # 4 шафтолу

Дин ва мазҳаб