питон дахь давталт. Синтакс, жагсаалтын давталт, завсарлага, үргэлжлүүлэх болон бусад функцууд

Цpython i-д зориулсан ikl мөчлөг while - мэдэгдэл програм хангамж хэл, тухайлбал: давталтын операторууд, үзьеунтаж кодыг давтах өгсөн дугаар цаг хугацаа.

Цикл For - синтакси

Өмнө нь тайлбарласнаар, cPython-д оруулах нь дээр суурилсан давталт юмй нэг мөчлөгттаних. тэр эрэгтэй юу үйлдэл tuple элементүүдээр и жагсаалт, толь бичиг түлхүүрүүд болон бусад давтагдах объектууд.

Python хэл дээрх давталт нь for түлхүүр үгээр эхэлж, дараа нь өгөгдсөн дарааллаар дараагийн объектын утгыг хадгалдаг дурын хувьсагчийн нэрээр эхэлдэг. Python дахь for…in-ийн ерөнхий синтакс дараах байдалтай байна.

хувьд: else:      

бүрэлдэхүүн хэсэг "дараалал" жагсаасан байна ар араасаа мөчлөгийн хувьсагч. Өөрөөр хэлбэл, хувьсагч цэгүүд ийм элементүүд. Хүн бүрт тэднээс "үйлдэл" хийгдсэн.

Тодорхой жишээ бүхий Python дахь энгийн for давталт:

>>> хэл = ["C", "C++", "Perl", "Python"] >>> нь x хэлээр: ... print(x) ... C C++ Perl Python >>>

else блок нь онцгой юмth. Хэрвээ Программистыажиллаж байгаа с Перл танилы түүнтэй хамт, гэж харилцдаг хүмүүст зориулсан с C ба C++ - энэ бол шинэлэг зүйл. Семантикийн хувьд үйл ажиллагаа тадилхан while давталт.

Зөвхөн давталт нь break хэллэгээр "зогсоогдоогүй" үед л гүйцэтгэгдэнэ. Өөрөөр хэлбэл, бүх элементүүд заасан дарааллаар дамжсаны дараа л гүйцэтгэгддэг.

Питон хэл дээрх таслах оператор – завсарлага

Хэрэв програм нь for циклтэй бол шаардлагатай тасалдалолон тоо таслах мэдэгдэл, he иж бүрэнүргэлжилсээрболон хөтөлбөр урсгал болно contбайх ямар ч Идэвхжүүлэх бусдаас.

Илүү олон удаа python хэл дээрх хэллэгүүдийг таслахuyutsya болзолт мэдэгдлүүдтэй.

edles = ["цавхай", "банш","өндөг","самар"] хүнсний бүтээгдэхүүнд: if food == "банш": print("Би бууз иддэггүй!") break print("Гайхалтай, амттай " + хоол) else: print("Банш байхгүй байсан нь сайн хэрэг!") print("Оройн хоол дууссан.")

Хэрэв та энэ кодыг ажиллуулбал дараах үр дүнг авна.

Гайхалтай, амттай жигнэмэг. Би бууз иддэггүй! Оройн хоол дууслаа.

Бид одоо байгаа мэдээллийн жагсаалтаас "банш" -ыг хасаад:

Маш сайн, амттай цавчих Маш сайн, амттай өндөг Маш сайн, амттай самар Сайн байна, бууз байхгүй байсан! Оройн хоол дууслаа.

python алгасах оператор – үргэлжлүүлнэ

Хэрэглэгчийн ийм бүтээгдэхүүнд хандах хандлага нь хэрэглээгээ бүрэн орхих тийм ч их биш гэж хэлье. Үүний үр дүнд гогцоо нь оператортой үргэлжилдэг continue. Дараах скрипт нь мэдэгдлийг ашигладаг continue, "банштай харилцах" дээрх жагсаалтыг үргэлжлүүлэн давтах.

edables = ["цөцгий", "банш","өндөг","самар"] хүнсний бүтээгдэхүүнд: if food == "банш": print("Би бууз иддэггүй!") үргэлжлүүлэх print("Гайхалтай, амттай " + хоол) # энэ нь хоол идэхийн код байж магадгүй :-) else: print("Би бууз үзэн яддаг!") print("Оройн хоол дууслаа.")

Хамгийн гол нь:

Гайхалтай, амттай жигнэмэг. Би бууз иддэггүй! Гайхалтай, амттай өндөг Гайхалтай, амттай самар Би буузыг үзэн яддаг! Оройн хоол дууслаа.

range() функцээр жагсаалтуудыг давтах

Хэрэв та жагсаалтын индекс рүү хандахыг хүсвэл энэ зорилгоор for циклийг хэрхэн ашиглах нь тодорхойгүй байна. Бүх элементүүдэд хандах боломжтой боловч элементийн индекст хандах боломжгүй хэвээр байх болно. Гэсэн хэдий ч элементийн индекс болон элементийн аль алинд нь хандах арга байдаг. Энэ зорилгоор функцийг ашигладаг range() уртын функцтэй хослуулсан len():

фибоначчи = [0,1,1,2,3,5,8,13,21] i муж дахь(len(фибоначчи)): хэвлэх(i,фибоначчи[i])

Get:

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

Анхаар! Хэрэглэх үед len() к list or tuple, өгөгдсөн дарааллын элементүүдийн харгалзах тоог олж авна.

Жагсаалтыг давтахад хүндрэлтэй байдаг

Жагсаалтыг давтах үед давталтын бие дэх жагсаалтын динамикаас зайлсхийхийг зөвлөж байна. Тодорхой болгохын тулд бид дараахь сонголтыг санал болгож болно.

color = ["red"] for i in color: if i == "улаан": өнгө += ["хар"] бол i == "хар": өнгө += ["цагаан"] хэвлэх(өнгө)

Өргөдөл гаргахад юу тохиолддог print(colours)?

['улаан', 'хар', 'цагаан']

Үүнээс зайлсхийхийн тулд доорх жишээн дээрх шиг зүсмэлүүдийг ашиглан хуулбартай харилцахыг зөвлөж байна.

color = ["red"] for i in color[:]: хэрэв i бол == "улаан": өнгө += ["хар"] бол i == "хар": өнгө += ["цагаан"] хэвлэх(өнгөт )

Үр дүн:

['Улаан хар']

Жагсаалтыг өөрчилсөн colours, гэхдээ энэ үйлдэл гогцоонд нөлөөлөөгүй. Давтагдах шаардлагатай өгөгдөл нь давталтыг гүйцэтгэх явцад өөрчлөгдөөгүй хэвээр байв.

Python 3 дээр тоол

Enumerate нь Python-д суурилуулсан функц юм. Ихэнх эхлэгч, түүнчлэн зарим туршлагатай програмистууд түүний оршин тогтнохыг мэддэггүй. Энэ нь давталтын давталтыг автоматаар тоолох боломжийг танд олгоно. Жишээлбэл:

тоолуурын хувьд, тоолох (зарим_жагсаалт) дахь утга: хэвлэх (тоолуур, утга)

Чиг үүрэг enumerate Мөн нэмэлт аргумент (үүслийн утга, өгөгдмөлөөр авсан) авдаг 0). Энэ нь илүү үр дүнтэй болгодог.

my_list = ['алим', 'гадил', 'интоор', 'тоор'] c, тоолох дахь утга(миний_жагсаалт, 1): хэвлэх(c, утга) # Үр дүн: # 1 алим # 2 банана # 3 интоор # 4 тоор

хариу үлдээх