питондағы for циклі. Синтаксис, тізім итерациясы, үзіліс, жалғастыру және басқа мүмкіндіктер

ЦPython i үшін ikl цикл while – мәлімдемелер бағдарламалық қамтамасыз ету тіл, атап айтқанда: қайталау операторлары, болсынды кодты қайталаңыз берілген нөмір уақыт.

Цикл үшін — синтаксис

Бұрын түсіндірілгендей, бPython-да include for итераторы негізделгенй әр циклғаСәйкестік. ол әрекет етеді кортеж элементтері бойынша и тізімі, Лексика кілттер және басқа қайталанатын объектілер.

Python тіліндегі цикл for кілт сөзінен басталады, одан кейін берілген тізбекте келесі нысанның мәнін сақтайтын ерікті айнымалы атауы бар. Python тіліндегі for…in жалпы синтаксисі келесідей:

үшін: else:      

компоненттері «тізбектер» тізімделген бірінен соң бірі цикл айнымалысы. Дәлірек айтқанда, айнымалы нүктелер сондай элементтері. Барлығы үшін олардың «әрекет» орындалады.

Арнайы мысалмен Python-да қарапайым for циклі:

>>> тілдері = ["C", "C++", "Perl", "Python"] >>> тілдердегі x үшін: ... print(x) ... C C++ Perl Python >>>

else блогы ерекшеth. Егер а бағдарламашыыжұмыс с Перлге танысы онымен бірге, сол өзара әрекеттесетіндер үшін с C және C++ — бұл жаңалық. Семантикалық тұрғыдан функциялары тбірдей while цикл.

Цикл үзіліс операторымен «тоқталмаған» кезде ғана орындалады. Яғни, ол барлық элементтер көрсетілген реттіліктен өткеннен кейін ғана орындалады.

Python тіліндегі үзіліс операторы – үзіліс

Бағдарламада for циклі болса қажетті үзуThe үзіліс мәлімдемесі, he аяқталғанол жүредіжәне бағдарлама Ағыны ерік жалғасыболу жоқ белсендіру басқадан.

Жиірек python тіліндегі фразаларды бұзуuyutsya шартты мәлімдемелермен.

yemeles = ["чопс", "түшпара","жұмыртқа","жаңғақ"] жеуге болатын тағамға арналған: егер тағам == "түшпара": print("Мен тұшпара жемеймін!") break print("Тамаша, дәмді " + тағам) басқа: print("Тушпара болмағаны жақсы болды!") print("Кешкі ас аяқталды.")

Бұл кодты іске қоссаңыз, келесі нәтиже аласыз:

Тамаша, дәмді котлеттер. Мен тұшпара жемеймін! Кешкі ас бітті.

Біз бар деректер тізімінен «түшпара» алып тастаймыз және аламыз:

Тамаша, дәмді котлеттер Өте жақсы, дәмді жұмыртқалар Тамаша, дәмді жаңғақтар Бір жақсысы, тұшпара болмады! Кешкі ас бітті.

python skip операторы – жалғастыру

Пайдаланушының мұндай өнімдерге деген антипатиясы олардың тұтынуынан толығымен бас тартуы соншалықты үлкен емес делік. Нәтижесінде цикл оператормен жалғасады continue. Келесі сценарий мәлімдемені пайдаланады continue, тізім бойынша қайталауды жалғастыру үшін «түшпенді контакт» бойынша.

yemeles = ["чопс", "түшпара","жұмыртқа","жаңғақ"] жеуге болатын тағамға арналған: егер тағам == "түшпара": print("Мен тұшпара жемеймін!") жалғастырыңыз print("Тамаша, дәмді " + тағам) # бұл тағамнан ләззат алуға арналған код болуы мүмкін :-) басқа: print("Мен тұшпараны жек көремін!") print("Кешкі ас аяқталды.")

Төменгі жол:

Тамаша, дәмді котлеттер. Мен тұшпара жемеймін! Тамаша, дәмді жұмыртқалар Тамаша, дәмді жаңғақтар Мен тұшпараларды жек көремін! Кешкі ас бітті.

range() функциясы арқылы тізімдерді қайталау

Тізімнің индекстеріне қол жеткізгіңіз келсе, осы мақсат үшін for циклін қалай пайдалану керектігі түсініксіз. Барлық элементтерге қол жеткізуге болады, бірақ элементтің индексі қолжетімсіз болып қалады. Дегенмен, элементтің индексіне де, элементтің өзіне де қол жеткізу әдісі бар. Осы мақсатта функция пайдаланылады range() ұзындық функциясымен біріктірілген len():

фибоначчи = [0,1,1,2,3,5,8,13,21] диапазондағы i үшін(len(фибоначчи)): басып шығару(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, бірақ бұл әрекет циклге әсер етпеді. Итерациялануы қажет деректер циклды орындау кезінде өзгеріссіз қалды.

3-ші питонда санау

Enumerate — кірістірілген Python функциясы. Жаңадан бастағандардың көпшілігі, сондай-ақ кейбір тәжірибелі бағдарламашылар оның бар екенін білмейді. Ол циклдің қайталануларын автоматты түрде санауға мүмкіндік береді. Мысалға:

санауыш үшін, санаудағы мән(кейбір_тізім): басып шығару(есептегіш, мән)

функция enumerate сонымен қатар қосымша аргумент қабылдайды (бастапқы мән, әдепкі бойынша 0). Бұл оны одан да тиімді етеді.

my_list = ['алма', 'банан', 'шие', 'шабдалы'] c үшін, санаудағы мән(менің_тізім, 1): басып шығару(c, мән) # Нәтиже: # 1 алма # 2 банан # 3 шие # 4 шабдалы

пікір қалдыру