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. ifostidagi kod bloki ichkariga surilgan (indentation) bo'lishi kerak (odatda 4 ta bo'sh joy yoki 1 tab).- Agar shart
Falsebo'lsa,ifbloki 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")
- 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:
eliflarning soni cheklanmagan, lekin ko'pelifishlatish 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.")
- Birinchi
ifyoshni tekshiradi. - Agar yosh 18 dan katta yoki teng bo'lsa, ichki
ifdarajani 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.")
andoperatoriyosh >= 18vatalabashartlarini birlashtiradi.notoperatoritalabaning 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)
Eslatma:
- Ternary operator faqat oddiy shartlar uchun mos keladi. Murakkab shartlar uchun odatiy
if/elseishlatish 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!") Shartni noto'g'ri yozish:
if x = 5: # SyntaxError: '=' o'rniga '==' ishlatish kerak- Yechim: Taqqoslash uchun
==ishlatishni unutmang.
elifyokielsedan oldinifyo'qligi:
Murakkab Shartlar:
- Ko'p ichma-ich shartlar kodni chalkashtiradi. Buning o'rniga funksiyalar yoki mantiqiy operatorlardan foydalaning.
Murakkab:
Optimal usul: