Backend

Pythonʼdagi shartli operatorlar: “agar”dan tortib oʻrnatilgan konstruksiyalargacha

Mantiqiy joʻmraklarni aylantirib, dasturni qaror qabul qilishga oʻrgatamiz.

Kompyuter dasturlari ham shartlar asosida qaror qabul qiladi. Buning uchun Pythonʼda shartli if, elif va else operatorlari mavjud. Ular qanday ishlashi, nima uchun kerakligi va ularsiz kifoyalanish mumkinmi yoki yoʻqligi haqida hikoya qilamiz.

Pythonʼdagi shartli operatorlar nima ish bajaradi?

Pythonʼdagi shartli operatorlarning turlicha vazifalarini hisobga olib, ular asosida muayyan harakatlarni bajaradigan dasturlar ishlab chiqiladi. Shartli operatorlar koʻpincha quyidagi vazifalar uchun ishlatiladi:

  • Qarorlar qabul qilish. Dasturga turli ijro usullaridan birini tanlash imkonini beradi. Masalan, foydalanuvchi pochtasiga xat yuborish yoki messenjerda maʼlumot almashish.

  • Ijro oqimini boshqarish. Shartli operatorlar kodning qaysi qismlari bajarilishi yoki inkor etilishini boshqaradi.

  • Kodni optimallashtirish. Keraksiz operatsiyalarning bajaralishini bartaraf etib, ish unumdorligini yaxshilaydi. Dasturdagi harakatlar ketma-ket amalga oshiriladi, lekin baʼzida ayrim operatsiyalarni oʻtkazib yuborish kerak boʻladi.

  • Xatolarni qayta ishlash. Shartli operatorlar xato yoki nostandart vaziyatlarni aniqlash va ularga javob berishda yordam beradi. Shartli operatorlar yordamida kodda yuzaga keladigan xatolarga dastur qanday munosabatda boʻlishi kerakligini tavsiflash mumkin.

if operatori

if konstruksiyasi kodga bitta shartni qoʻshish uchun ishlatiladi. Bunday blok shart rost boʻlsa va True qiymatini qabul qilsa, amalga oshiriladi. Boshqa hollarda dastur blok tarkibini oʻtkazib yuboradi.

Sintaksis

Shart yaratish uchun if operatoridan foydalaniladi. Birinchi boʻlib shart, soʻng ikki nuqta keladi va kod yangi satrdan boshlanadi. Agar formatlash qoidalariga rioya qilinmasa, dastur ishlamaydi:

if sharti
    shart = True boʻlganda bajariladigan kod bloki

navbatdagi kod bloki

Quyidagi misolda x oʻzgaruvchisi beshdan katta boʻlsa, Python konsolga x 5 dan katta xabarini chiqaradi. Boshqa hollarda if blokidagi kod bajarilmaydi va foydalanuvchi xabarni koʻrmaydi:

x = 10
if x > 5:
    print('x 5 dan katta ')

Misollar

Tasavvur qilaylik, kafeda 35 rublga bulochka sotib olishga imkoniyatingiz borligini hisoblaydigan dastur yozishga qaror qildingiz. Dastlab bun oʻzgaruvchisini yaratib, unga bulochka narxini yozamiz. Soʻngra input funksiyasini qoʻllab, foydalanuvchining qancha puli borligini bilib olamiz. Endi if blokida bulochka sotib olish uchun yetarli mablagʻ borligini tekshiramiz, agar javob ijobiy boʻlsa, bu haqda xabar beramiz.

bun = 35
# Qancha pul borligini aniqlaymiz
money = int(input("Yonimda qancha pul bor?"))

if money >= 35:
    # Agar pul 35 rubldan ortiq boʻlsa, bulochka sotib olish mumkin
    print("Bulochka sotib olish mumkin")

# Chiqariladigan xabarlarga misollar:
Yonimda qancha pul bor? 40
Bulochka sotib olishingiz mumkin

Yonimda qancha pul bor? 20 # Agar pul yetarli boʻlmasa, dastur hech qanday javob chiqarmaydi

if-else operatori

if-else konstruksiyasi ikkita: toʻgʻri va notoʻgʻri shartlar uchun kod blokini bajarish imkonini beradi. Bu dastur xatti-harakatlarini kiruvchi maʼlumot va holatlarga koʻra boshqarishni taʼminlaydi.

if operatori shart rost boʻlganda, else esa shart notoʻgʻri boʻlganda dastur nima qilishi kerakligini tavsiflaydi. elseʼdan keyin boshqa shartni koʻrsatish mumkin emas: shunchaki ikki nuqta qoʻyiladi. Keyingi kod bloki xuddi if bilan boʻlgani kabi yangi satrdan boshlanadi.

Sintaksis

if-else konstruksiyasi umumiy koʻrinishda quyidagicha boʻladi:

if sharti:
    Kod_bloki_1 
else
    Kod_bloki_2

Misolimizni takomillashtiramiz va else blokini qoʻshamiz. Natijada x oʻzgaruvchisi 5 dan kichik boʻlganda xabar chiqadi:

x = 10
if x > 5:
    # Agar x 5 dan katta boʻlsa, bu haqida xabar chiqaramiz
    print('x 5 dan katta')

else:
    # Agar kichik boʻlsa, shu haqida xabar chiqaramiz
    print('x 5 dan kichik')

Ikkala holatda ham dastur nima qilinishini oldindan koʻzda tutdik. Foydalanuvchi har qanday holatda ham konsolda xabarni koʻradi.

if bloklari ichidagi shartlarni tekshirish uchun oʻrnatilgan ichki shartli operatorlardan foydalanish mumkin:

x = 15
if x > 10:
    print('x 10 dan katta')
    if x > 20:
        print('x 20 dan katta')
    else:
        print("x 10 dan katta, lekin 20 dan kichik yoki teng")
else:
    print("x 10 dan kichik yoki unga teng")

Misollar

Bulochka bilan boʻlgan misolga qaytaylik. Aytaylik, yonimizdagi pul 50 rubldan ortiq boʻlsa, kartoshkali pirog sotib olishimiz mumkin. Agar kamroq boʻlsa, unda faqat oddiy bulochka olishga toʻgʻri keladi:

bun = 35
pie = 50
money = int(input("Yonimda qancha pul bor?"))

if money >= 50:
    # 1-kod bloki
    print("Kartoshkali pirog sotib olishingiz mumkin")
else:
    # 2-kod bloki
    print("Kartoshkali pirog sotib ololmaysiz. Bulochka sotib oling.")

if operatoridan keyingi shart haqiqiy deb baholanganda 1-kod bloki bajariladi. Aks holda, 2-kod bloki ishga tushadi.

Ternar operator

Ushbu dahshatli ibora shunchaki if-else shartini bitta satrda yozish mumkinligini anglatadi. Ternar operatorlardan loyihadagi kodni qisqartirish va oʻqishni yaxshilash uchun foydalaniladi:

x = 10
result = "x 5 dan katta" if x > 5 else "x 5 dan katta emas"
print(result)

if-elif-else operatori

if-elif-else konstruksiyasi bir nechta shartlarni tekshirib, faqat mos keladigan kodni bajarish uchun ishlatiladi:

if — birinchi shartni tekshiradi.

elif (else if ning qisqartmasi) — agar oldingi shart notoʻgʻri boʻlsa, keyingi shartlarni tekshiradi.

else — oldingi barcha shartlar notoʻgʻri boʻlsa, kod blokini bajaradi.

Sintaksis

if-elif-else konstruksiyasi umumiy koʻrinishda quyidagicha boʻladi:

if 1-shart:
    1-kod_bloki
elif 2-shart
    2-kod_bloki
elif 3-shart:
    3-kod_bloki
else:
    N-kod_bloki

x oʻzgaruvchiga qiymat beriladigan va if-elif-else operatori yordamida diapazoni tekshiriladigan misolni koʻrib chiqamiz.

x = 7

if x > 10:
    print("x 10 dan katta")
elif x > 5:
    print("x 5 dan katta, lekin 10 dan kichik yoki unga teng")
elif x > 0:
    print("x 0 dan katta, lekin 5 dan kichik yoki unga teng")
else:
    print("x 0 dan kichik yoki unga teng")

Ushbu misolda natija x 5 dan katta, lekin 10 dan kichik yoki unga teng boʻladi. Chunki x oʻzgaruvchisi 7 ga teng va berilgan diapazonga toʻgʻri keladi.

Misollar

Turli xil holatlar tekshiriladigan misolni koʻrib chiqamiz. Novvoyxonada maktab oʻquvchilariga bepul choy, nafaqaxoʻrlarga esa mors berilishini tasavvur qilamiz. Mijoz yoshiga koʻra nima olishi mumkinligini aniqlaydigan dastur yozishimiz kerak.

age = int(input("Yoshingiz:"))

if age < 18:
    print("Voyaga yetmagansiz. Sizga choy mumkin.")
elif age > 65:
    print("Nafaqaxoʻrsiz. Sizga mors beriladi.")
else:
    print("Buyurtmangiz uchun tashakkur!")
# Chiqariladigan javoblarga misollar:
Yoshingiz: 17
Voyaga yetmagansiz. Sizga choy mumkin.

Yoshingiz: 67
Nafaqaxoʻrsiz. Sizga mors beriladi.

Shartlarda qoʻllanadigan mantiqiy operatorlar

Murakkab shartlarni yaratish uchun mantiqiy operatorlar: and, or va notʼdan foydalanish mumkin.

Dasturlashda bunday operatorlardan mantiqiy (bul) qiymatlar (True yoki False) bilan bogʻliq operatsiyalarni bajarish uchun foydalaniladi.

  • and (mantiqiy VA). Agar ikkala shart ham rost boʻlsa, Trueʼni qaytaradi.

True and True # Trueʼni qaytaradi
True and False # Falseʼni qaytaradi
False and True # Falseʼni qaytaradi
False and False # Falseʼni qaytaradi
  • or (mantiqiy YOKI). Agar shartlardan kamida bittasi rost boʻlsa, Trueʼni qaytaradi.

True and True # Trueʼni qaytaradi
True and False # Trueʼni qaytaradi
False and True # Trueʼni qaytaradi
False and False # Falseʼni qaytaradi
  • not (mantiqiy YOʻQ). Shart qiymatini teskarisiga oʻzgartiradi (agar shart rost boʻlsa, Falseʼni qaytaradi yoki aksincha).

not True # Falseʼni qaytaradi
not False # Trueʼni qaytaradi

Mantiqiy operatorlardan shartda qanday foydalanishni misol orqali koʻrib chiqamiz. Quyidagi misolda kod bajarilishi uchun bir vaqtning oʻzida ikkita shart ham rost boʻlishi kerak:

x = 7
y = 8

if x > 5 and y > 5:
    print("x va y 5 dan katta")
if x > 5 or y > 10:
    print("x 5 dan katta yoki y 10 dan katta")
if not x < 5:
    print("x 5 dan kichik emas")

Natijada

  • Shartli operatorlar dasturga turli xil voqealar variantini tanlash imkonini beradi. Shu tarzda vazifaning turli shartlariga moslasha oladi.

  • Shartlar kodning qaysi qismlari bajarilishi yoki oʻtkazib yuborilishini boshqaradi. Shuningdek, dasturlarning aniqroq va samarali bajarilishini taʼminlaydi.

  • if bitta shartni qoʻshish imkonini beradi. Agar u rost boʻlsa, kod bloki bajariladi.

  • if-else ikkita shart qoʻshishga imkon beradi. Agar shart rost boʻlsa if bloki, notoʻgʻri boʻlsa else bajariladi.

  • if-elif-else istalgancha shart qoʻshish imkonini beradi. Agar shartlar rost boʻlsa, if va elif bloklari bajariladi. Notoʻgʻri boʻlganda, aksincha, else bloki yuzaga chiqadi.

  • Murakkabroq mantiqiy konstruksiyalarni yaratish uchun ichki shartli operatorlardan foydalanish mumkin.

  • Shartlar yordamida keraksiz operatsiyalarning oldi olinadi.



Manba: Условные операторы в Python: от простых «если» до вложенных конструкций

#python
Mohirdev Telegram

Telegram kanalimizga obuna bo’lishni unutmang

Obuna bo'lish
https://mohirdevbucket.s3.eu-central-1.amazonaws.com/practicum/images/0bc7c06a-ea1d-47b3-b722-07f6c4594b57.original.jpeg

skillbox.ru