while operatori, cheksiz sikllar va break / continue boshqaruvi
9-sinfAdvanced Back-end va DevOps3-hafta · 8-darsShart True bo‘lib turguncha takrorlash qoidasi
1.43-rasm: Parol to‘g‘ri kiritilguncha so‘rash
1.44-rasm: 3 ta urinish va majburiy to‘xtatish
Foydalanuvchi to‘g‘ri parol kiritguncha takror so‘rash
Foydalanuvchi 0 kiritmaguncha sonlarni yig‘ib borish
Server doimiy ishlab yangi keluvchi so‘rovlarni kutishi
Shart qachon tekshiriladi va qanday to‘xtaydi?
Rasmiy qo'llanmadagi 1.42-rasm misoli
i = 1
# i soni 5 dan kichik yoki teng turguncha ishlaydi
while i <= 5:
print("Son:", i)
i += 1 # Har aylanishda qiymat 1 taga ortadi
i = 6 bo'lishi bilan 6 <= 5 sharti False bo'ladi va sikl to'xtaydi.
Agar i += 1 yozish unutilsa nima bo‘ladi?
Rasmiy qo'llanmadagi 1.43-rasm kodi
parol = "1234"
kirit = input("Parol: ")
# Kiritilgan qiymat to'g'ri bo'lmaguncha ishlayveradi
while kirit != parol:
print("Xato! Qayta urinib ko'ring.")
kirit = input("Parol: ")
print("Kirish muvaffaqiyatli!")
Siklni muddatidan oldin to‘xtatish va qadamni o‘tkazish
urinishlar = 0
while urinishlar < 3:
parol = input("Parol kiriting: ")
if parol == "1234":
print("Kirish muvaffaqiyatli!")
break # Kod darhol to'xtaydi, sikl tugaydi
urinishlar += 1
if urinishlar == 3:
print("Urinishlar soni tugadi!")
# Xato: cheksiz sikl
while i <= 5:
print(i)
# i += 1 yozilmadi
Har doim hisoblagich oshishi kerak!
# Xato: umuman ishlamaydi
i = 10
while i < 5:
print(i)
Shart boshida True bo‘lishi shart.
Vaqt: 15 daqiqa · Darajalar bo‘yicha
while orqali 1 dan 7 gacha bo‘lgan sonlarni ekranga chiqaring.
Foydalanuvchi "stop" deb yozmaguncha takroran ma'lumot so'rovchi dastur tuzing.
Rasmiy 1.44-rasmdagi 3 ta urinishli parol tekshirish tizimini to'liq kodlang.
Quyidagi kod necha marta aylanadi?
x = 0
while x < 3:
print("Salom")
x += 1
3 marta (x = 0, 1, 2 bo'lganda ishlaydi, x = 3 bo'lganda to'xtaydi)
Noma'lum takrorlanishlar uchun qulay vosita
Hisoblagichni orttirib borish va Ctrl + C bilan to'xtatish
Siklni muddatidan oldin to'xtatish va qadamni o'tkazib yuborish
Keyingi dars: Tanlash operatori (match / case)
9-sinfAdvanced Back-end va DevOps