რა არის ციკლები პროგრამირებაში?
sobes.tech AI
პასუხი AI-სგან
циклы — бул башкаруу түзүмдөрү, алар бир эле код блогун көп жолу аткарууга мүмкүндүк берет, белгилүү бир шарт аткарылгандан кийин же тизмедеги элементтер бүтүп калганда чейин.
Pythonдо үч негизги цикл түрү бар:
whilefor- Генераторлор жана итераторлор менен колдонулган циклдер (эгерде бул көбүнчө
for-го негизделген концепция болсо да)
while цикли
Шарт чын болсо, код блокун иштетет.
# `while` циклинин мисалы
count = 0
while count < 5:
print(f"Итерация {count}")
count += 1
for цикли
Тизмелер, кортеждер, саптар, сөздүктөр жана башка итермелүү объекттердин элементтеринде иштейт.
# `for` циклинин мисалы
жемиштер = ["алма", "банан", "черешня"]
for жемиш in жемиштер:
print(жемиш)
for функциясы range() менен колдонулуп, белгилүү санга чейин иштетилет.
# `for` циклинин мисалы `range()` менен
for i in range(3):
print(f"Жөнөкөй сан: {i}")
Циклдерди башкаруу үчүн ачкыч сөздөр:
break: Циклди толук үзгүлтүккө учуратат.continue: Учурдагы итерациянын калгандарын өткөрүп, кийинкисине өтөт.
# `break` мисалы
for i in range(10):
if i == 5:
break # Циклден чыгуу
print(i)
# `continue` мисалы
for i in range(10):
if i % 2 == 0:
continue # Кийинки итерацияга өтүү
print(i)
else структурасы циклдерде:
Pythonдо for жана while циклдери үчүн optional else блогу бар. Бул блок цикл өзүнчө бүтүп калганда гана иштейт (анын break менен үзгүлтүккө учуратпагандыгына карап).
# `else` менен `for` мисалы
for i in range(3):
print(f"Ички цикл: {i}")
else:
print("Цикл `break` менен бүтпөдү")
# `else` менен `while` мисалы
count = 0
while count < 3:
print(f"Санаачы: {count}")
count += 1
else:
print("Шарт туура эмес болуп калды")
Циклдер жана итераторлор/генераторлор:
Pythonдо for цикли чындыгында итератор протоколу аркылуу иштейт. __iter__() жана __next__() методдорун ишке ашырган ар кандай объекттер for циклунда колдонулушу мүмкүн. Генераторлор — бул итераторлорду түзүүнүн ыңгайлуу жолу.
# Жөнөкөй генератор мисалы
def my_generator():
yield 1
yield 2
yield 3
for маан in my_generator():
print(маан)
for жана while салыштыруу:
| Өзгөчөлүк | for |
while |
|---|---|---|
| Максаты | Сериал/итеретор аркылуу өтүү | Шарт туура болгонго чейин иштетүү |
| Аякталышы | Элементтердин бүтүшү / break |
Шарт туура эмес болуп калганда / break |
| Колдонуу | Эч качан белгилүү санга жеткенде же коллекция аркылуу өтүү керек болсо | Сан алдын ала белгилүү эмес болсо |
Тандоо конкреттүү тапшырмага жараша болот.