While sikli — takrorlanuvchi amallarni bajarishning asosiy vositasi. Sikllar dasturga bir ishni takror-takror bajarish imkonini beradi. Tasavvur qiling, mingta foydalanuvchiga xabar yuborish kerak — buni qo’lda mingta qator yozib emas, balki bir siklda bajaramiz. Python’da ikkita asosiy sikl bor: while va for. Shulardan birinchisini o’rganamiz.
While sikli — oldindan berilgan shart rost bo’lib turgan davomida o’z tanasidagi kodni qayta-qayta bajaradigan tuzilma. Shart har bir takrordan oldin tekshiriladi.
Oddiy while
while avval shartni tekshiradi, rost bo’lsa tanasini bajaradi, so’ng yana shartga qaytadi:
i = 1
while i <= 5:
print("Qadam:", i)
i += 1
Qadam: 1
Qadam: 2
Qadam: 3
Qadam: 4
Qadam: 5
Bu yerda eng muhim qator — i += 1. Aynan u har takrorda i ni oshirib boradi va oxir-oqibat shartni yolg’onga aylantiradi. Agar i ni oshirishni unutsangiz, shart doim rost qoladi va sikl cheksiz aylanaveradi — bu boshlovchilarning eng mashhur xatosi.
break — siklni to’xtatish
break operatori siklni shart tugashini kutmasdan, darhol to’xtatadi:
i = 1
while i <= 100:
print(i)
if i == 3:
break
i += 1
1
2
3
Shart i <= 100 bo’lsa-da, i uchga yetganda break siklni uzib qo’ydi. Bu, masalan, ro’yxatdan kerakli elementni topgach izlashni to’xtatishda foydali.
continue — bir qadamni o’tkazib yuborish
continue esa joriy takrorni to’xtatib, keyingisiga o’tadi:
i = 0
while i < 6:
i += 1
if i == 3:
continue
print(i)
1
2
4
5
6
E’tibor bering: 3 chiqmadi. i uchga tengida continue print gacha yetmasdan siklni yangi takrorga o’tkazdi. Bu kerak bo’lmagan qiymatlarni tashlab ketishda ishlatiladi.
while — else
Python’ning o’ziga xos imkoniyati: while ga else blokini biriktirish mumkin. U sikl breaksiz, tabiiy ravishda tugaganida bajariladi:
i = 1
while i <= 3:
print("Ishlayapman:", i)
i += 1
else:
print("Sikl muvaffaqiyatli tugadi")
Ishlayapman: 1
Ishlayapman: 2
Ishlayapman: 3
Sikl muvaffaqiyatli tugadi
Agar sikl break bilan uzilganida edi, else bloki ishlamas edi. Bu nozik xususiyatni bilish sizni ko’p dasturchidan ajratib turadi.
Amaliy misol: yig’indini hisoblash
While’ning kuchini oddiy vazifada ko’ramiz — 1 dan 10 gacha sonlar yig’indisi:
yigindi = 0
son = 1
while son <= 10:
yigindi += son
son += 1
print("Yig'indi:", yigindi)
Yig'indi: 55
Bunday to’planib boruvchi hisob-kitob — masalan, savatchadagi mahsulotlar umumiy narxini hisoblash — real ilovalarda doimo uchraydi.
Xulosa
Bu darsda while sikli, break bilan to’xtatish, continue bilan qadam o’tkazish, while-else va yig’indi hisoblashni o’rgandik. Eng muhim eslatma: shartni yolg’onga aylantiradigan o’zgarishni unutmang, aks holda sikl cheksiz aylanadi. Keyingi darsda massivlar mavzusiga o’tamiz.