Python'da while sikli — takrorlash

Bir xil ishni ko’p marta takrorlash kerak bo’lsa-chi? Masalan, 1 dan 100 gacha sonlarni chiqarish uchun 100 ta print yozib bo’lmaydi. Aynan shu yerda sikl (takror) yordamga keladi. Bu darsda birinchi sikl — while bilan tanishamiz.

while nima qiladi

while (modomiki, toki) sikli bitta shartga qaraydi: shart rost ekan, ostidagi blokni qayta-qayta bajaraveradi. Shart yolg’onga aylangan zahoti to’xtaydi.

Python

Bu yerda nima bo’ldi: son boshida 1. Shart son <= 5 rost — blok ishlaydi, son chiqadi va 1 ga oshadi. Bu 5 gacha davom etadi. son 6 bo’lganda shart yolg’on — sikl to’xtaydi.

Diqqat qiling: while qatori ham, xuddi if kabi, ikki nuqta (:) bilan tugaydi va tanasi chekinish (4 bo’sh joy) bilan yoziladi.

Sanagich — sikldagi eng keng tarqalgan naqsh

Yuqoridagi sonsanagich: har aylanishda o’zgarib boradigan o’zgaruvchi. Sanagichsiz while ko’pincha ma’nosiz bo’ladi, chunki uni to’xtatadigan o’zgarish qayerdandir kelishi kerak.

son = son + 1 ni qisqartirib son += 1 deb yozish mumkin — bu bir xil ma’noni bildiradi va ko’proq shunday yoziladi:

Python

+= — “o’ziga qo’shib qo’y” degani. Xuddi shunday -=, *= ham bor.

break — siklni erta to’xtatish

Ba’zan shart hali rost bo’lsa ham, siklni darhol to’xtatish kerak bo’ladi. break shuni qiladi — u sikldan butunlay chiqib ketadi:

Python

Shart son <= 100 bo’lsa ham, son 5 ga yetganda break ishladi va sikl to’xtadi. break deyarli har doim if bilan birga keladi.

continue — bu aylanishni o’tkazib yuborish

continue siklni to’xtatmaydi — u faqat shu aylanishning qolganini o’tkazib yuborib, keyingisiga o’tadi. Faqat toq sonlarni chiqaraylik:

Python

Son juft bo’lsa (son % 2 == 0), continue print gacha yetmasdan keyingi aylanishga o’tadi. % amali — sonlar darsida ko’rganimizdek, bo’lishdan qolgan qoldiqni beradi.

while bilan foydalanuvchini kutish

while ning kuchli tomoni — takror sonini oldindan bilmaganda ishlashi. Masalan, foydalanuvchi to’g’ri parol kiritmaguncha so’rayveramiz:

parol = ""
while parol != "python123":
    parol = input("Parolni kiriting: ")
print("Xush kelibsiz!")

Foydalanuvchi noto’g’ri yozsa, shart hali rost — qayta so’raydi. To’g’ri yozganda shart yolg’on bo’lib, sikl to’xtaydi va salom chiqadi. Bu yerda input har aylanishda yangi qiymat oladi.

Amaliy mashq

Son topish o’yinini yozing:

  1. yashirin = 7 o’zgaruvchisini yarating;
  2. while sikli ichida foydalanuvchidan son so’rang;
  3. son katta bo’lsa “kichikroq”, kichik bo’lsa “kattaroq” deb ayting;
  4. to’g’ri topilganda xabar chiqarib, break bilan sikldan chiqing;
  5. urinishlar sonini sanaydigan o’zgaruvchi qo’shing va oxirida chiqaring.

break ni olib tashlasangiz nima bo’ladi — sikl qachon tugaydi?

Qisqacha xulosa

  • while — shart rost ekan blokni qayta-qayta bajaradi; qatori : bilan tugaydi, tanasi chekinish bilan yoziladi.
  • Ko’pincha sanagich kerak; uni o’zgartirishni unutsangiz — cheksiz sikl (Ctrl + C bilan to’xtatiladi).
  • son += 1son = son + 1 ning qisqa shakli.
  • break — sikldan butunlay chiqadi; continue — shu aylanishni o’tkazib, keyingisiga o’tadi.
  • while takror sonini oldindan bilmaganda (masalan, parol so’rashda) ayniqsa qulay.

Keyingi darsda for sikli va range ni ko’ramiz — takror sonini oldindan bilganda ancha qulayroq usul.

Bu dars foydali bo'ldimi?

marta ko'rildi