Sobes.tech
Intern

რა არის ციკლები პროგრამირებაში?

sobes.tech AI

პასუხი AI-სგან

циклы — бул башкаруу түзүмдөрү, алар бир эле код блогун көп жолу аткарууга мүмкүндүк берет, белгилүү бир шарт аткарылгандан кийин же тизмедеги элементтер бүтүп калганда чейин.

Pythonдо үч негизги цикл түрү бар:

  • while
  • for
  • Генераторлор жана итераторлор менен колдонулган циклдер (эгерде бул көбүнчө 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
Колдонуу Эч качан белгилүү санга жеткенде же коллекция аркылуу өтүү керек болсо Сан алдын ала белгилүү эмес болсо

Тандоо конкреттүү тапшырмага жараша болот.