11 / 59

Python break and continue

Break va continue bilan tanishish

break va continue operatorlari sikllardan erta chiqish yoki kerak bo'lganda iteratsiyalarni o'tkazib yuborish imkonini beradi, bu esa sikl bajarilishini boshqarishning ko'proq usullarini beradi.

Python break operatori

break operatori u uchraganida siklni darhol tugatadi.

Sintaksis

kod
break

break operatori odatda if...else operatori bilan birga ishlatiladi. Buning sababi, agar break to'g'ridan-to'g'ri ishlatilsa, sikl birinchi iteratsiyasida darhol to'xtab qoladi, bu esa siklni ma'nosiz qiladi.

Misol: for sikli ichida break

example.py
number = int(input("Enter a number: "))
for i in range(1, 6):

    # i number ga teng bo'lsa siklni tugatish
    if i == number:
        break
    print(i)

Natija

kod
Enter a number: 3
1
2

Dasturda sikl i = 1 dan 5gacha aylanishi kerak.

Biroq, agar foydalanuvchi 3 kiritsa, sikl faqat 1 va 2ni chop etadi. i 3ga aylanganda, if sharti bajariladi, shuning uchun break operatori sikl barcha iteratsiyalarni tugatishidan oldin uni to'xtatadi.

Bu dastur qadam-baqadam qanday ishlashini ko'rish uchun yuqoridagi Visualize tugmasini bosing.

Misol: while sikli ichida break

example.py
while True:
    number = int(input("Enter a number: "))
    if number < 0:
        break
    print(f"You entered {number}")

Natija

kod
Enter a number: 5
You entered 5
Enter a number: 0
You entered 0
Enter a number: -2

Dasturda sikl sharti sifatida to'g'ridan-to'g'ri True ishlatilgan. Bunday cheksiz sikllarni tugatishning yagona yo'li — break operatoridan foydalanish.

Foydalanuvchi manfiy son kiritganda, if sharti bajariladi va break operatori siklni tugatadi.

Bu dastur qadam-baqadam qanday ishlashini ko'rish uchun yuqoridagi Visualize tugmasini bosing.

Python continue operatori

continue operatori joriy iteratsiyani tugatadi va keyingi iteratsiya bilan davom etadi.

Asosan, continue joriy iteratsiyadagi qolgan kodni o'tkazib yuboradi. Sikl tugamaydi; u shunchaki keyingi iteratsiyaga o'tadi.

Sintaksis

kod
continue

break kabi, continue operatori ham odatda if...else operatori bilan birga ishlatiladi. Buning sababi, agar continue to'g'ridan-to'g'ri ishlatilsa, sikl tanasidagi qolgan kod har bir iteratsiyada o'tkazib yuboriladi.

Misol: for sikli ichida continue

example.py
for i in range(1, 11):

    # Son juft ekanligini tekshirish sharti
    if i % 2 == 0:
        continue
    print(i)

Natija

kod
1
3
5
7
9

Dasturda sikl i = 1 dan 10gacha aylanadi. if sharti, i % 2 == 0, i juft bo'lganda True bo'ladi. Bunday holatda, print() operatori o'tkazib yuboriladi va sikl keyingi iteratsiya bilan davom etadi. Shuning uchun faqat toq sonlar chop etiladi.

Misol: Faqat musbat sonlar yig'indisi

Bu misolda biz foydalanuvchi kiritgan musbat sonlarning yig'indisini topuvchi dastur yaratamiz.

Agar foydalanuvchi manfiy son kiritsa, continue yordamida uni yig'indiga qo'shishni o'tkazib yuboramiz. Agar foydalanuvchi 0 kiritsa, break yordamida siklni tugatamiz va yig'indini ko'rsatamiz.

example.py
total = 0

while True:
    number = int(input("Enter a number (0 to stop): "))

    # Manfiy sonlarni o'tkazib yuborish
    if number < 0:
        continue

    # Foydalanuvchi 0 kiritsa siklni tugatish
    if number == 0:
        break

    total += number

print(f"Sum of positive numbers: {total}")

Agar bu dasturni kuzatishda qiynalsangiz, dastur har bir qadamda qanday ishlashini ko'rish uchun har doim Visualize tugmasini bosishingiz mumkin.

Else operatoriga ega sikl

Pythonda for va while sikllari ixtiyoriy else operatoriga ega bo'lishi mumkin. Bu xususiyat faqat Pythonga xos bo'lib, boshqa ko'pgina tillarda uchramaydi.

else operatori ichidagi kod barcha iteratsiyalar tugagandan so'ng bajariladi. Biroq, agar sikl break operatori yordamida tugatilgan bo'lsa, else bloki bajarilmaydi.

example.py
stock = ['Laptop', 'Keyboard', 'Mouse']

order = input("Enter the product you want to buy: ")

for product in stock:
    if product == order:
        print(f"{order} is available. Adding to cart.")
        break
else:
    print(f"Sorry, {order} is out of stock.")

1-natija

kod
Enter the product you want to buy: Laptop
Laptop is available. Adding to cart.

2-natija

kod
Enter the product you want to buy: Monitor
Sorry, Monitor is out of stock.

Bu yerdagi mantiq:

  • Agar mahsulot omborda bo'lsa, break operatori siklni tugatadi va else ichidagi "omborda yo'q" xabari ko'rsatilmaydi.
  • Agar mahsulot omborda bo'lmasa, "omborda yo'q" xabari ko'rsatiladi, chunki break operatoriga hech qachon duch kelinmaydi.

Yana bir bor, agar bu dasturni kuzatishda qiynalsangiz, dastur qadam-baqadam qanday ishlashini ko'rish uchun har doim Visualize tugmasini bosishingiz mumkin.

QBilimingizni sinab ko'ring
1 / 3

1. break va continue odatda qaysi operator bilan birga ishlatiladi?