☰ Mundarija · Informatika

If…else amaliyoti va elif operatori

Darslar 38–39 · 2 ta dars · M. R. Fayziyeva, D. M. Sayfurov, N. S. Xaytullayeva. Informatika va axborot texnologiyalari, 9-sinf. «Nashriyot uyi Tasvir», Toshkent, 2020
39

Tarmoqlanuvchi algoritmlarni dasturlash. elif operatori

Darslik: 79–80-betlar
Maqsadelif operatori bilan bir necha shartni ketma-ket tekshiradi, ichma-ich joylashgan if ning tuzilishini va chekinishini biladi hamda ko‘p yo‘lli tanlov dasturlarini yozadi.
Yangi so‘zlar
elif · elif: “else if”, the next condition that is checked only if the earlier ones were Falseko‘p yo‘lli tanlov · multi-way choice: a chain of if, elif and else where exactly one block is runichma-ich if · nested if: an if placed inside the block of another if, with one more indentshartlar tartibi · order of conditions: the first True one is chosen, so the order matters
Tushuntirish

Ko‘p holatdan birini tanlash kerak bo‘lsa, if, elif va else zanjiridan foydalaniladi: Python shartlarni yuqoridan pastga tekshiradi va birinchi rost chiqqan blokni bajarib, qolganlarini o‘tkazib yuboradi; hech biri rost bo‘lmasa, else ishlaydi. Shuning uchun shartlar tartibi muhim: m <= 5 sharti oldindan qish oylarini ajratib olingach, faqat bahor oylariga to‘g‘ri keladi. Zanjirda elif va else soni cheklanmagan, else esa ixtiyoriy. Boshqa tillardagi CASE kabi tanlov operatori Pythonda shu usul bilan almashtiriladi. if ning ichida boshqa if ham bo‘lishi mumkin: ichki if tashqarisiga nisbatan yana 4 ta probel chekinish bilan yoziladi, aks holda u alohida shart bo‘lib qoladi. Ichki shart faqat tashqi shart rost bo‘lganda tekshiriladi.

Namunalar
Fasl nomi: m = int(input()) ⏎ if m == 12 or m == 1 or m == 2: ⏎     print("qish") ⏎ elif m <= 5: ⏎     print("bahor") ⏎ elif m <= 8: ⏎     print("yoz") ⏎ else: ⏎     print("kuz") 7-oy uchun avval qish sharti yolg‘on, m <= 5 ham yolg‘on, m <= 8 rost – yoz chiqadi.
Ichma-ich if: n = int(input()) ⏎ if n > 0: ⏎     if n % 2 == 0: ⏎         print("musbat juft") ⏎     else: ⏎         print("musbat toq") ⏎ else: ⏎     print("musbat emas") 9 musbat, shuning uchun ichki shart tekshiriladi; 9 % 2 = 1, demak musbat toq chiqadi. Manfiy son kiritilsa, ichki if tekshirilmaydi va musbat emas chiqadi.
Sinfda faoliyat

«Baholar tarjimoni»: guruh 1 dan 5 gacha baho kiritiladigan dastur yozadi; elif zanjiri bilan 5 – «a’lo», 4 – «yaxshi», 3 – «qoniqarli», 2 – «qoniqarsiz» deb chiqaradi, boshqa son uchun else da «bunday baho yo‘q» xabarini beradi.

Mashq
1
Fasl dasturida 4-oy uchun nima chiqadi?
2
Sonning ishorasini («musbat», «manfiy», «nol») aniqlovchi elif li dastur yozing.
3
Ichma-ich dasturga n = -4 kiritilsa, nima chiqadi?
4
Nima uchun bir nechta alohida if o‘rniga elif zanjiri qulay?