October 10, 2025

Python dasturlash tilida Shart operatorlari (if, elif, else)

Shart operatorlari nima?


Shart operatorlari dasturda qaror qabul qilish uchun ishlatiladi. Ular shart (logical condition) asosida kodning muayyan qismini bajarish yoki bajarmaslikni belgilaydi. Python'da shart operatorlari quyidagilardan iborat:

  • if - Agar: Bu shart operatori biror shart to'g'ri bo'lsa, muayyan kod blokini bajarishni bildiradi. Masalan, "Agar yosh 18 dan katta bo'lsa" deb tushunsa bo'ladi.
  • elif - Aks holda Agar: Bu "else if" ning qisqartmasi bo'lib, birinchi if sharti noto'g'ri bo'lsa, boshqa shartni tekshirish uchun ishlatiladi.
  • else - Aks holda: Agar if yoki elif shartlarining hech biri to'g'ri bo'lmasa, bu blok ishlaydi. O'zbek tilida "Aks holda" yoki "Boshqa hollarda" deb tushuniladi.

Shart operatorlari dastur oqimini boshqarishda muhim rol o'ynaydi va deyarli har qanday dasturda qo'llaniladi.

Sintaksis:

if shart:
    # Shart to'g'ri bo'lsa bajariladigan kod
elif boshqa_shart:
    # Boshqa shart to'g'ri bo'lsa bajariladigan kod
else:
    # Hech qanday shart to'g'ri bo'lmasa bajariladigan kod


if operatori

if operatori shartni tekshiradi va agar shart True (to'g'ri) bo'lsa, uning ostidagi kod bloki bajariladi. Shart odatda mantiqiy ifoda (logical expression) sifatida yoziladi.

Misol: Oddiy if operatori

yosh = 20
if yosh >= 18:
    print("Siz voyaga yetgansiz!")

Tushuntirish: Yuqoridagi kodda yosh >= 18 sharti tekshiriladi. Agar yosh 18 yoki undan katta bo'lsa, "Siz voyaga yetgansiz!" xabari chiqariladi.

Muhim Eslatma:

  • Shartdan keyin ikki nuqta (:) qo'yilishi shart.
  • if ostidagi kod bloki ichkariga surilgan (indentation) bo'lishi kerak (odatda 4 ta bo'sh joy yoki 1 tab).
  • Agar shart False bo'lsa, if bloki o'tkazib yuboriladi.

elif operatori

elif bir nechta shartlarni ketma-ket tekshirish imkonini beradi. Agar if sharti noto'g'ri bo'lsa, dastur elif shartlarini tekshiradi. Agar hech biri to'g'ri kelmasa, else bloki ishlaydi (agar mavjud bo'lsa).

Misol: if, elif, else

ball = 85
if ball >= 90:
    print("Sizning bahoyingiz: A'lo")
elif ball >= 80:
    print("Sizning bahoyingiz: Yaxshi")
elif ball >= 70:
    print("Sizning bahoyingiz: Qoniqarli")
else:
    print("Sizning bahoyingiz: Qoniqarsiz")

Tushuntirish:

  • Agar ball 90 yoki undan yuqori bo'lsa, "A'lo" bahosi chiqariladi.
  • Agar ball 80-89 oralig'ida bo'lsa, "Yaxshi" bahosi chiqariladi.
  • Agar ball 70-79 oralig'ida bo'lsa, "Qoniqarli" bahosi chiqariladi.
  • Aks holda, "Qoniqarsiz" bahosi chiqariladi.

Eslatma:

  • elif larning soni cheklanmagan, lekin ko'p elif ishlatish kodni murakkablashtirishi mumkin.
  • Har bir elif sharti ketma-ket tekshiriladi, shuning uchun shartlar tartibi muhim.

else operatori

else operatori if sharti noto'g'ri bo'lganda ishlaydi. U hech qanday shart talab qilmaydi va faqat if yoki elif dan keyin keladi.

Misol: if va else

yosh = 16
if yosh >= 18:
    print("Siz voyaga yetgansiz!")
else:
    print("Siz hali voyaga yetmagansiz.")

Tushuntirish: Agar yosh 18 dan kichik bo'lsa, else bloki ishlaydi va "Siz hali voyaga yetmagansiz." xabari chiqariladi.


Ichma-ich shart operatorlari (Nested Conditions)

Shart operatorlari ichma-ich joylashtirilishi mumkin, ya'ni bir if bloki ichida boshqa if, elif yoki else bo'lishi mumkin.

Misol: Ichma-ich shartlar

yosh = 25
daraja = "bakalavr"

if yosh >= 18:
    print("Siz voyaga yetgansiz.")
    if daraja == "bakalavr":
        print("Siz bakalavr darajasiga egasiz!")
    else:
        print("Sizda bakalavr darajasi yo'q.")
else:
    print("Siz hali voyaga yetmagansiz.")

Tushuntirish:

  • Birinchi if yoshni tekshiradi.
  • Agar yosh 18 dan katta yoki teng bo'lsa, ichki if darajani tekshiradi.

Maslahat:

  • Ichma-ich shartlardan foydalanishni minimallashtirishga harakat qiling, chunki bu kodni o'qishni qiyinlashtiradi.
  • Mantiqiy operatorlar (and, or) yordamida shartlarni birlashtirishni o'ylab ko'ring.

Mantiqiy operatorlar bilan ishlash

Shartlarda mantiqiy operatorlar (and, or, not) ishlatish shartlarni yanada moslashuvchan qiladi.

  • and: Ikkala shart ham to'g'ri bo'lishi kerak.
  • or: Kamida bitta shart to'g'ri bo'lsa yetarli.
  • not: Shartning teskari qiymatini qaytaradi.

Misol: Mantiqiy operatorlar

yosh = 20
talaba = True

if yosh >= 18 and talaba:
    print("Siz voyaga yetgan talabasiz!")
elif yosh >= 18 and not talaba:
    print("Siz voyaga yetgansiz, lekin talaba emassiz.")
else:
    print("Siz hali voyaga yetmagansiz.")

Tushuntirish:

  • and operatori yosh >= 18 va talaba shartlarini birlashtiradi.
  • not operatori talabaning teskari qiymatini oladi.

Shartlarda qisqa sintaksis (Ternary Operator)

Python'da shartli ifodalarni qisqa yozish uchun ternary operator ishlatiladi.

Sintaksis:

qiymat = qiymat1 if shart else qiymat2

Misol: Ternary operator

yosh = 16
xabar = "Voyaga yetgan" if yosh >= 18 else "Voyaga yetmagan"
print(xabar)

Tushuntirish:

  • Agar yosh >= 18 bo'lsa, xabar ga "Voyaga yetgan" qiymati beriladi, aks holda "Voyaga yetmagan".

Eslatma:

  • Ternary operator faqat oddiy shartlar uchun mos keladi. Murakkab shartlar uchun odatiy if/else ishlatish yaxshiroq.

Real hayotda qo'llanilishi

Shart operatorlari turli dasturiy senariylarda qo'llaniladi. Quyida bir nechta misollar keltirilgan:

Foydalanuvchi Autentifikatsiyasi

foydalanuvchi = "admin"
parol = "12345"

if foydalanuvchi == "admin" and parol == "12345":
    print("Tizimga muvaffaqiyatli kirdingiz!")
else:
    print("Foydalanuvchi nomi yoki parol xato.")

Internet do'kon narx hisoblagichi

narx = 500
chegirma = 0

if narx > 1000:
    chegirma = narx * 0.2  # 20% chegirma
elif narx > 500:
    chegirma = narx * 0.1  # 10% chegirma

yakuniy_narx = narx - chegirma
print(f"Yakuniy narx: {yakuniy_narx} so'm")

Ob-havo

harorat = 25

if harorat > 30:
    print("Juda issiq! Yengil kiyim kiying.")
elif harorat > 20:
    print("Iliq havo. Kozok kiyish kifoya.")
else:
    print("Sovuq! Issiq kiyim kiying.")


Umumiy xatolar va ulardan oldini olish

Indentation xatosi:
if True:
print("Bu xato!")
  • # IndentationError
  • Yechim: Har doim to'g'ri ichki surishdan foydalaning.

Shartni noto'g'ri yozish:
  • if x = 5: # SyntaxError: '=' o'rniga '==' ishlatish kerak
    • print("X 5 ga teng")
  • Yechim: Taqqoslash uchun == ishlatishni unutmang.

elif yoki else dan oldin if yo'qligi:
  • elif x > 5: # SyntaxError
    • print("Bu ishlamaydi")
  • Yechim: Har doim elif yoki else dan oldin if bo'lishi kerak.

Murakkab Shartlar:
  • Ko'p ichma-ich shartlar kodni chalkashtiradi. Buning o'rniga funksiyalar yoki mantiqiy operatorlardan foydalaning.
Murakkab:
  • if x > 0:
    • if x < 10:
      • if x % 2 == 0:
        • print("Musbat, 10 dan kichik va juft son")
Optimal usul:
  • if x > 0 and x < 10 and x % 2 == 0:
    • print("Musbat, 10 dan kichik va juft son")