pitonda döngə üçün. Sintaksis, siyahı təkrarlama, fasilə, davam və digər xüsusiyyətlər

Цpython i üçün ikl dövrü while - bəyanatlar proqram dil, yəni: iterasiya operatorları, icazə verinIng kodu təkrarlayın verilmiş nömrə vaxt.

Цикl üçün — сintaksis

Artıq izah edildiyi kimi, cPython-da daxil etmək əsaslanan iteratordurй dövr başınaidentiklik. odur fəaliyyət göstərir tuple elementləri ilə и siyahısı, lüğət açarları və digər təkrarlana bilən obyektlər.

Python-da dövrə for açar sözü ilə başlayır, ardınca verilən ardıcıllıqda növbəti obyektin dəyərini saxlayan ixtiyari dəyişən adı gəlir. Pythonda for…in üçün ümumi sintaksis belə görünür:

üçün: else:      

Components "ardıcıllıqlar" siyahıya alınmışdır birinin ardınca dövr dəyişəni. Daha doğrusu, dəyişən nöqtələr belə elementləri. Hər kəs üçün bunlardan “hərəkət” həyata keçirilir.

Xüsusi bir nümunə ilə Python-da sadə for loop:

>>> dillər = ["C", "C++", "Perl", "Python"] >>> dillərdə x üçün: ... print(x) ... C C++ Perl Python >>>

else bloku xüsusidirci. Əgər a proqramçıыс Perl tanışdırы onunla, O qarşılıqlı əlaqədə olanlar üçün с C və C++ — bu bir yenilikdir. Semantik olaraq funksiyaları тeynilə döngə zamanı.

Yalnız döngə break ifadəsi ilə “dayanmadıqda” yerinə yetirilir. Yəni, yalnız bütün elementlər göstərilən ardıcıllıqdan keçdikdən sonra yerinə yetirilir.

Pythonda fasilə operatoru – break

Proqramda for loop varsa zəruri kəsməkbu fasilə bəyanatı, he tamgedirproqram axın iradə contolmaq olmadan aktivləşdirmə başqasından.

Daha tez-tez python-da ifadələri qırınuytsya şərti ifadələrlə.

yeməli yeməklər = ["doğrama", "köftə","yumurta","fındıq"] yeməli yeməklər üçün: if food == "köftə": print("Mən köftə yemirəm!") break print("Əla, ləzzətli " + yemək) başqa: print("Yaxşı ki, köftə yox idi!") print("Şam yeməyi bitdi.")

Bu kodu işlətsəniz, aşağıdakı nəticəni alırsınız:

Əla, dadlı pirzola. Mən köftə yemirəm! Nahar bitdi.

Mövcud məlumat siyahısından "köftələri" çıxarırıq və əldə edirik:

Əla, ləzzətli pirzola Əla, ləzzətli yumurta Əla, dadlı qoz-fındıq Nə yaxşı ki, parçaları yox idi! Nahar bitdi.

python skip operatoru – davam edin

Deyək ki, istifadəçinin belə məhsullara qarşı antipatiyası onların istehlakından tamamilə imtina edəcək qədər böyük deyil. Nəticədə dövrə operatorla davam edir continue. Aşağıdakı skript ifadədən istifadə edir continue, “köftə kontaktı” üzrə siyahıda təkrarlamağa davam etmək.

yeməli yeməklər = ["doğrama", "köftə","yumurta","fındıq"] yeməli yeməklər üçün: əgər qida == "köftə": print("Mən köftə yemirəm!") davam edin print("Əla, dadlı " + yemək) # bu, yeməkdən həzz almaq üçün kod ola bilər :-) başqa: print("Mən köftələrə nifrət edirəm!") print("Şam yeməyi bitdi.")

Aşağı xətt:

Əla, dadlı pirzola. Mən köftə yemirəm! Əla, ləzzətli yumurta Əla, dadlı qoz-fındıq Mən parçaları nifrət edirəm! Nahar bitdi.

range() funksiyası ilə siyahıları təkrarlamaq

Əgər siyahının indekslərinə daxil olmaq istəyirsinizsə, bu məqsədlə for loopundan necə istifadə edəcəyiniz aydın deyil. Bütün elementlərə daxil olmaq mümkündür, lakin elementin indeksi əlçatmaz olaraq qalacaq. Bununla belə, həm elementin indeksinə, həm də elementin özünə daxil olmaq üçün bir üsul var. Bu məqsədlə funksiyadan istifadə olunur range() uzunluq funksiyası ilə birləşdirilir len():

fibonacci = [0,1,1,2,3,5,8,13,21] i diapazonunda(len(fibonacci)): print(i,fibonacci[i])

Get:

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

Diqqət! Tətbiq edildikdə len() к list or tuple, verilmiş ardıcıllığın müvafiq sayda elementləri alınır.

Siyahıları təkrarlamaqda çətinliklər

Siyahı üzərində təkrarlanan zaman, döngə gövdəsində siyahı dinamikasından qaçmaq tövsiyə olunur. Aydınlıq üçün aşağıdakı variantı təklif edə bilərik:

rənglərdə = ["qırmızı"] i üçün rənglərdə: əgər i == "qırmızı": rənglər += ["qara"] əgər i == "qara": rənglər += ["ağ"] çap(rənglər)

Müraciət edərkən nə baş verir print(colours)?

['qırmızı', 'qara', 'ağ']

Bunun qarşısını almaq üçün aşağıdakı nümunədə olduğu kimi dilimlərdən istifadə edərək surətlə qarşılıqlı əlaqə qurmaq tövsiyə olunur:

rənglər = ["qırmızı"] rənglərdə i üçün[:]: əgər i == "qırmızı": rənglər += ["qara"] əgər i == "qara": rənglər += ["ağ"] çap (rənglər) )

Nəticə:

['Qırmızı Qara']

Siyahı dəyişdirilib colours, lakin bu hərəkət dövrəyə təsir etmədi. Döngənin icrası zamanı təkrarlanmalı olan məlumatlar dəyişməz qaldı.

Python 3-də sadalayın

Enumerate daxili Python funksiyasıdır. Əksər yeni başlayanlar, eləcə də bəzi təcrübəli proqramçılar onun mövcudluğundan xəbərsizdirlər. Bu, döngənin təkrarlarını avtomatik olaraq saymağa imkan verir. Misal üçün:

sayğac üçün, nömrələmədəki dəyər (bəzi_siyahı): çap (sayğac, dəyər)

Function enumerate həmçinin isteğe bağlı arqument qəbul edir (mənşənin dəyəri, standart olaraq 0). Bu da onu daha da səmərəli edir.

my_list = ['alma', 'banana', 'albalı', 'şaftalı'] c üçün, sıralamada dəyər (my_list, 1): çap (c, dəyər) # Nəticə: # 1 alma # 2 banan # 3 albalı # 4 şaftalı

Cavab yaz