Isoqjanov Ilyos | Python
📘 #Python | (A, B)[shart] — noodatiy ifoda
Ba’zan kodingizda shartga qarab 2 xil qiymatdan birini tanlash kerak bo‘ladi.
Masalan:
x = 12
natija = "katta" if x > 10 else "kichik"
print(natija)
Natija: katta
🔹 Lekin buni “hiyla” orqali ham yozish mumkin 😎
x = 12
natija = ("kichik", "katta")[x > 10]
print(natija)
💡 Bu yerda:
• ("kichik", "katta") — tuple
• [x > 10] esa indeks sifatida ishlatiladi (True → 1, False → 0)
Demak:
• agar x > 10 → True → [1] → "katta"
• agar x > 10 → False → [0] → "kichik"
🔍 Yana bir misol:
son = int(input("Son kiriting: "))
natija = ("juft", "toq")[son % 2]
print(natija)
➡️ Foydalanuvchi 7 kiritsa → son % 2 = 1 → "toq"
➡️ Agar 8 kiritsa → son % 2 = 0 → "juft"
⚠️ Lekin ehtiyot bo‘ling:
Garchi (A, B)[shart] ishlasa ham, bu tavsiya etilmaydi ❌
Sabablari:
• Har doim ikkala elementni ham (ya'ni tuple ichidagi element yoki ifodani) hisoblaydi — if else esa faqat keraklisini.
• Kodingizni o‘qish qiyinlashadi.
• Katta loyihalarda bu ifoda chalkashlik keltirib chiqaradi.
✅ To‘g‘ri, toza usul:
natija = "katta" if x > 10 else "kichik"
Bu ancha o‘qilishi oson, “pythonic” va xavfsiz.
✨ Xulosa:
• (A, B)[shart] — shartga qarab 0 yoki 1 indeksni tanlaydi
• Lekin bu faqat “hiyla” sifatida yaxshi, amalda — if ... else ... ishlating 💪
7 · 1.7K ·