Назар аударыңыз. Бұл материалды сайт қолданушысы жариялаған. Егер материал сіздің авторлық құқығыңызды бұзса, осында жазыңыз. Біз ең жылдам уақытта материалды сайттан өшіреміз
Жақын арада сайт әкімшілігі сізбен хабарласады
Бонусты жинап картаңызға (kaspi Gold, Halyk bank) шығарып аласыз
WHILE LOOP
Дипломдар мен сертификаттарды алып үлгеріңіз!
Материалдың толық нұсқасын
жүктеп алып көруге болады
While циклі. 1-сабақ
Итерация кодтың бір блогын қайта-қайта, мүмкін, бірнеше рет орындауды білдіреді. Итерацияны жүзеге асыратын программалау құрылымы цикл деп аталады. Программалауда итерацияның анықталмаған және анықталған екі түрі бар.
Анықталмаған итерациялар
-
Анықталмаған итерация кезінде циклді орындау саны алдын ала анық көрсетілмейді. Керісінше, тағайындалған блок қандай да бір шарт орындалып жатқан кезде бірнеше рет орындалады.
Анықталған итерациялар
-
Белгілі бір итерация кезінде көрсетілген блоктың орындалу саны цикл басталған кезде нақты көрсетіледі.
While циклі
Python тіліндегі while операторы циклдерді құру үшін қолданылады. Қарапайым while циклінің пішімі төменде көрсетілген:
while <expr>:
<statement(s)>
<statement(s)> қайта орындалатын блокты білдіреді, көбіне цикл денесі деп аталады. Ол if операторындағыдай шегініспен жазылады. Python-дағы барлық басқару құрылымы блоктарды анықтау үшін шегіністерді пайдаланады. <expr> басқару өрнегі әдетте цикл басталғанға дейін инициализацияланған, содан кейін цикл денесінің бір жерінде өзгертілетін бір немесе бірнеше айнымалы мәнді қамтиды. while циклі кездескен кезде, <expr> алдымен логикалық контексте есептеледі. Егер ол ақиқат болса, цикл денесі орындалады. Содан кейін <expr> қайтадан тексеріледі және әлі де ақиқат болса, дене қайтадан орындалады. Бұл <expr> жалған болғанша жалғасады, содан кейін программаның орындалуы цикл денесінен тыс бірінші операторға өтеді.
1-мысал. Цикл мысалын қарастырайық:
n = 5
while n > 0:
n –= 1
print(n)
Нәтижесі:
4
3
2
1
0
Бұл мысалда:
-
Бастапқыда n 5-ке тең. 2-жолдағы while операторының тақырыбындағы өрнек n > 0, ақиқат, сондықтан цикл денесі орындалады. 3-жолдағы цикл денесінің ішінде n 1-ден 4-ке дейін азаяды, содан кейін шығарылады.
-
Циклдің негізгі бөлігі аяқталған кезде программаның орындалуы 2-жолдағы циклдің басына оралады және өрнек қайта есептеледі. Бұл әлі де ақиқат, сондықтан дене қайтадан орындалады және 3 шығады.
-
Бұл n 0-ге тең болғанша жалғасады. Осы нүктеде өрнек тексерілгенде, ол жалған болып табылады және цикл аяқталады. Орындау цикл денесінен кейінгі бірінші операторда жалғасады, бірақ бұл жағдайда ол жоқ.
Кез келген нәрсе болмас бұрын while циклінің басқару өрнегі алдымен тексерілетінін ескеру қажет. Бастапқыда false мәні орнатылса, цикл денесі ешқашан орындалмайды:
2-мысал.
n = 0
while n > 0:
n –= 1
print(n)
Жоғарыда келтірілген мысалда цикл кездескен кезде n мәні 0-ге тең болады. n > 0 басқару өрнегі әлдеқашан жалған, сондықтан циклдің денесі ешқашан орындалмайды.
3-мысал. Сандық салыстырудан гөрі тізім пайдаланылатын while циклі:
a = ['foo', 'bar', 'baz']
while a:
print(a.pop(-1))
Нәтижесі:
baz
bar
foo
Тізім логикалық контексте бағаланған кезде, онда элементтер бар болса, ол ақиқат болады, ал егер бос болса, жалған болады. Бұл мысалда элементтер бар болса, "a" ақиқат болады. Барлық элемент .pop() әдісі арқылы жойылғаннан кейін және тізім бос болған соң, "a" жалған болып табылады және цикл аяқталады.
4-мысал.
d = {'foo': 1, 'bar': 2, 'baz': 3}
while d:
print(d.popitem())
Нәтижесі:
('baz', 3)
('bar', 2)
('foo', 1)
.popitem() әдісі d ішінен бір кілт-мән жұбын жояды және оны кортеж ретінде қайтарады. Осылайша, while циклінің негізгі бөлігі мазмұнды d кортеждері ретінде көрсетеді.
Егер while циклінде көрсетілген шарт ешқашан жалған болмаса, while циклі ешқашан аяқталмайды және шексіз циклге айналады. while цикліндегі кез келген нөл емес мән әрқашан ақиқат шартты көрсетеді, ал нөл әрқашан жалған шартты көрсетеді.