Sonsuz dövrlər

   Bildiyiniz kimi əgər bir proqram daxilində müəyyən əməliyyatları ardıcıl şəkildə təkrarlamaq lazım gəlirsə, biz dövr operatorlarına müraciət edirik. Dövr operatorları icrası təkrarlanan eyni proqram kodlarını dəfələrlə yazmaqdan bizi azad edir. 

   Python proqramlaşdırma dilində iki növ dövr operatoru nəzərdə tutulmuşdur. Əgər təkrarlanmaların sayı daha öncədən məlumdursa, sayğaclı dövr (for), məlum deyilsə, şərtli dövr (while) operatorundan istifadə olunur. Hər iki dövr operatorunun istifadə qaydası ilə bağlı Python ilə Proqramlaşdırma kitabına (səh. 76-89) müraciət edə bilərsiniz. Bu dərsimizdə isə Sizə proqramlaşdırmada bəzi hallarda istifadə olunan sonsuz dövrlərdən bəhs edəcəyik.

   Proqramlaşdırmada sonsuz dövrlər o dövrlərdir ki, onlardan çıxmaq üçün verilmiş şərt heç zaman ödənmir. Python dilində sonsuz dövrləri qurmaq üçün bir qayda olaraq şərtli dövr (while) konstruksiyasından istifadə olunur. Bu zaman dövrün şərti heç vaxt False olmayacaq şəkildə təyin olunur. Bununla belə dövrün gövdəsində tələb olunan anda onun işini dayandırmaq məqsədilə break operatorundan da istifadə olunur.

while True:
    print("Python ilə proqramlaşdırmaq çox əyləncəlidir")
    print("Davam etmək üçün 1, proqramdan çıxmaq üçün 0 düyməsini basın")
    k=input()
    if k=="0":
        break
    elif k=="1":
        print("Siz daha yolun başlanğıcındasınız...")
    else:
        print("Siz seçiminizi etməmisiniz!")

   Yuxarıdakı proqramda şərtli dövr operatorundan istifadə edilmişdir. Burada dövrün şərti kimi True verildiyinə görə bu şərt hər zaman ödəniləcək. Dolayısıyla dövrümüz sonsuz alınacaq. Lakin buna rəğmən tələb olunan anda break operatorunu tətbiq etməklə dövrün işini dayandıra bilirik.

   Əgər proqramda istifadə olunan sonsuz dövrün gövdəsində onun icrasını dayandıracaq heç bir instruksiya verilmirsə, bu zaman dövr sonsuz sayda icra olunacaq. Məsələn aşağıdakı proqramda olduğu kimi:

i = 1
while True:
    print(i)
    i+=1

   Belə olan halda sonsuz dövrün icrasını dayandırmaq üçün Ctrl+C düymələrinə basmaq lazımdır.