Есептер
while
циклі тексерілетін шарт ақиқат болғанша бірдей әрекеттер тізбегін қайталап орындауға мүмкіндік береді. Шарт цикл денесінің алдында жазылады және цикл денесі орындалмас бұрын тексеріледі. Әдетте, уақытша цикл немесе циклдің орындалу санын нақты анықтау мүмкін болмаған кезде қолданылады.
while
циклінің синтаксисі ең қарапайым жағдайда келесідей:
while шарт: инструкция блогы
while
циклін орындау кезінде алдымен шарт тексеріледі. Егер ол жалған болса, онда циклдің орындалуы тоқтатылады және басқару while
циклінің денесінен кейінгі келесі командаға ауысады. Егер шарт ақиқат болса, онда оператор орындалады, содан кейін шарт қайтадан тексеріліп, оператор қайтадан орындалады. Бұл шарт дұрыс болғанша жалғасады. Шарт жалған болғаннан кейін цикл аяқталады және басқару циклден кейінгі келесі нұсқауға ауысады.
Мысалы, келесі бағдарлама фрагменті 1-ден 10-ға дейінгі барлық бүтін сандардың квадраттарын басып шығарады. Сіз төменде көрсетілген мысалдан while
циклінің for … in range( … )
орнын алмастыра алатынын көре аласыз:
Бұл мысалда цикл ішіндегі i
айнымалысы 1-ден 10-ға дейін өзгереді. Циклдің әрбір жаңа өтуімен мәні өзгеретін мұндай айнымалы санауыш(счетчик) деп аталады. Осы фрагментті орындағаннан кейін i
айнымалысының мәні 11
-ге тең болатынын ескеріңіз, өйткені i == 11
кезінде i <= 10
шарты енді бірінші рет орындалмайтын болады.
Міне, n
натурал санының цифрларының санын анықтау үшін while
циклін пайдаланудың тағы бір мысалы:
Бұл циклде length
айнымалысында мұның неше рет орындалғанын есептей отырып, сандардың соңынан бастап бір таңбалы сандарды алып тастаймыз, бұл бүтін санды 10-ға бөлуге тең (n //= 10
).
Python-да бұл мәселені шешудің тағы бір жолы: length = len(str(n))
.
Цикл денесінен кейін else
сөзін жазуға болады: одан кейін тексерілетін шарт жалған болған кезде цикл аяқталғаннан кейін бір рет орындалатын операциялар блогы:
Мұның мағынасы жоқ сияқты, өйткені дәл сол нұсқаулықты цикл аяқталғаннан кейін ғана жазуға болады. Мағынасы break
инструкциясымен ғана бар болады. Орындау кезінде, егер Python цикл ішінде break
инструкциясына тап болса, ол циклды орындауды дереу тоқтатады және одан шығады. Бұл жағдайда else
тармағы орындалмайды. Әрине, break инструкциясы if
операторының ішінде ғана шақырылуы керек, яғни ол қандай да бір ерекше шарт орындалған жағдайда ғана орындалуы керек.
Теріс санға тап болғанша сандарды оқитын бағдарламаның мысалы келтірілген. Теріс сан пайда болғанда, бағдарлама аяқталады. Бірінші нұсқада сандар тізбегі 0 санымен аяқталады (оны оқу кезінде тоқтату керек).
Бағдарламаның екінші нұсқасында алдымен кіріске реттілік элементтерінің саны, содан кейін элементтердің өздері беріледі. Бұл жағдайда for
циклін пайдалану ыңғайлы. for
циклінде else
те болуы мүмкін және оның ішінде break
функциясы да болуы мүмкін.
Тағы бір циклды басқару инструкциясы – continue(циклдің жалғасуы)
. Егер бұл инструкция циклдің ортасында бір жерде кездессе, онда циклдың соңына дейін қалған барлық нұсқаулар өткізіп жіберіледі және циклдің орындалуы келесі итерациямен жалғасады.
Егер break
және continue
инструкциялары бірнеше кірістірілген циклдар ішінде болса, олар тек ішкі циклдің орындалуына әсер етеді. Міне, мұны көрсететін мысал:
Мұнда break
инструкциясын дұрыс пайдаланудың әдеттегі мысалы келтірілген (бұл код сандағы таңбалар санын есептейді).
Бұл циклды келесідей қайта жазу әлдеқайда жақсы:_______________________________________________________________________________.
Дегенмен, Python-да неғұрлым талғампаз шешім ұсынылуы мүмкін:_____________________________________________________________.
Python-да бір меншіктеу инструкциясында бірнеше айнымалылардың мәнін бірден өзгертуге болады. Бұл келесідей орындалады:
a, b = 0, 1
Бұл кодты келесідей жазуға болады:
a = 0
b = 1
Екі әдістің айырмашылығы бірінші әдісте бірнеше тағайындау бір уақытта екі айнымалының мәнін өзгертеді.
Егер бірнеше тапсырмадағы «=» белгісінің сол жағында үтірмен бөлінген айнымалы атаулар болуы керек болса, оң жағында үтірмен бөлінген ерікті өрнектер болуы мүмкін. Ең бастысы, тапсырма белгісінің сол және оң жағында бірдей элементтер саны бар.
Бірнеше тағайындау екі айнымалының мәндерін алмасу қажет болғанда пайдалы. Кәдімгі бағдарламалау тілдерінде арнайы функцияларды қолданбай, бұл келесідей орындалады:
Python-да бірдей әрекет бір жолда жазылады:_____________________________________________.