5-dars: if, elif, else
2-blokQarorlar va takrorlash5–8 darslar
Bu darsdan keyin siz
if,elif,elsebilan programmaga qaror qabul qilishni o’rgatasiz- taqqoslash va mantiqiy amallardan shart tuzasiz
elifzinapoyasida tartibning ahamiyatini tushuntirasiz
Nazariya
“Nazariya” bo'limiga havolaShart — Bul ifoda
“Shart — Bul ifoda” bo'limiga havolaif dan keyin yozilgan narsa faqat ikki qiymatdan birini beradi: True yoki False.
Bu CF 5-darsdagi Bul mantiqi ning aynan o’zi,
faqat darvozalar o’rniga kod.
shartcondition
True yoki False qaytaradigan ifoda. Taqqoslashdan tuziladi: == (teng),
!= (teng emas), <, >, <=, >=.
Bir nechta shartni and, or, not bilan bog’lash mumkin: yosh >= 13 and yosh <= 17.
== bilan = ni aralashtirmang: = bog’laydi, == taqqoslaydi.
Otstup — bu sintaksis
“Otstup — bu sintaksis” bo'limiga havolaPython’da if ostidagi qatorlar 4 bo’shliq bilan surilib yoziladi. Otstup faqat
chiroylik uchun emas — u kodning qaysi qismi shart ichida ekanini belgilaydi.
Boshqa tillarda bu vazifani qavslar bajaradi.
ball = 85if ball >= 90: print("Baho: 5")elif ball >= 70: print("Baho: 4")elif ball >= 50: print("Baho: 3")else: print("Baho: 2")Zinapoyada faqat bitta shox ishlaydi
“Zinapoyada faqat bitta shox ishlaydi” bo'limiga havolaPython shartlarni yuqoridan pastga tekshiradi va birinchi mos kelganini bajaradi.
Qolgan elif lar hatto tekshirilmaydi. Shu sababli shartlar qattiqdan yumshoqqa
tartibda yozilishi kerak.
Bashorat qiling
“Bashorat qiling” bo'limiga havolaAvval o'ylang: bu kod nima chiqaradi? Ishga tushirishdan oldin yozing.
yosh = 15if yosh >= 18: print("Voyaga yetgan")elif yosh >= 13: print("O'smir")else: print("Bola")print("Tekshirish tugadi")Haqiqiy natija:
O'smir Tekshirish tugadi
Birinchi shart yolg'on, ikkinchisi rost — shu shox ishladi va zinapoya tugadi. Oxirgi print zinapoyadan tashqarida (otstupi yo'q), shuning uchun har holatda bajariladi.
Javobni ko'rish
O'smir Tekshirish tugadi
Birinchi shart yolg'on, ikkinchisi rost — shu shox ishladi va zinapoya tugadi. Oxirgi print zinapoyadan tashqarida (otstupi yo'q), shuning uchun har holatda bajariladi.
Avval o'ylang: bu kod nima chiqaradi? Ishga tushirishdan oldin yozing.
ball = 95if ball >= 50: print("3")elif ball >= 90: print("5")Haqiqiy natija:
3
Tartib buzilgan: birinchi shart 95 ball uchun ham rost, shuning uchun 3 chiqdi va ikkinchi shart tekshirilmadi ham.
Javobni ko'rish
3
Tartib buzilgan: birinchi shart 95 ball uchun ham rost, shuning uchun 3 chiqdi va ikkinchi shart tekshirilmadi ham.
Sinab ko’r
“Sinab ko’r” bo'limiga havolaBallni suring va qaysi shox ishlayotganini kuzating. Keyin «Teskari tartib» tugmasini bosib, xuddi shu ballni qayta sinang — natija o’zgaradi.
Shart daraxti
Ballni suring va qaysi shox ishlayotganini kuzating. Tartibni almashtirib ko'ring.
Bu simulyatorda baho qo'yish zinapoyasi bor: ball >= 90 bo'lsa 5, >= 70bo'lsa 4, >= 50 bo'lsa 3, aks holda 2. Ballni surganda qaysi shart birinchi bajarilishini ko'rasiz.
JavaScript'siz sinash: 95 balli o'quvchini ball >= 50 shartidan boshlanadigan zinapoyaga qo'ying. Birinchi shart ham to'g'ri chiqadi — demak o'quvchi 3 oladi va qolgan shartlar hatto tekshirilmaydi.
Xatoni toping
“Xatoni toping” bo'limiga havolaBu kod ataylab buzuq — xatoni toping
ball = 85if ball = 90: print("Aynan 90")Python shunday javob beradi:
File "baho.py", line 2
if ball = 90:
^^^^^^^^^
SyntaxError: invalid syntax. Maybe you meant '==' or ':=' instead of '='?Sababi va tuzatish
Shart ichida bitta = yozilgan. Bitta teng — bog'lash amali, taqqoslash uchun ikkita kerak: ==.
Python bu xatoni ishga tushirmasdanoq ushlaydi va hatto to’g’ri variantni ham aytadi. Xato xabarining oxirgi qatorini o’qish odati ko’p vaqtni tejaydi.
O’zingizni sinang
“O’zingizni sinang” bo'limiga havola1if dan keyin yozilgan ifoda qanday qiymat qaytarishi kerak?
Javobni ko'rish
Bul qiymat: True yoki False. Taqqoslash amallari
(==, >=, !=) aynan shuni beradi.
2= va == farqi nimada?
Javobni ko'rish
= qiymatni o’zgaruvchiga bog’laydi (buyruq), == ikki
qiymatni taqqoslaydi va Bul natija beradi (savol).
3ball = 95, birinchi shart ball >= 50 bo'lsa natija nima va nega?
Javobni ko'rish
3 chiqadi. Python birinchi mos shartni bajaradi va zinapoyani tark etadi —
ball >= 90 shartiga navbat kelmaydi.
4Python'da otstup (4 bo'shliq) nima vazifani bajaradi?
Javobni ko'rish
Qaysi qatorlar shart ichida ekanini belgilaydi. Boshqa tillardagi qavslarning o’rnini bosadi — ya’ni bezak emas, sintaksis.
513 dan 17 gacha bo'lgan yoshni bitta shartda qanday tekshirasiz?
Javobni ko'rish
yosh >= 13 and yosh <= 17. Python’da qisqartma ham ishlaydi:
13 <= yosh <= 17.
Topshiriq
“Topshiriq” bo'limiga havolaTopshiriq — darajangizni tanlang
Asos · 5–7-sinf — Vizual va aniq ko'rsatmali
Havo haroratini so’rab, kiyim maslahatini beruvchi programma yozing: 25 dan yuqori — «futbolka», 15 dan yuqori — «kofta», 5 dan yuqori — «kurtka», aks holda — «palto». Har shartni sinab, to’rt holat ham ishlashiga ishonch hosil qiling.
Mustahkam · 8–9-sinf — Matnli masala, o'zingiz tuzasiz
Ballni so’rab baho qo’yuvchi programma yozing (90/70/50 chegaralari bilan). Qo’shimcha shart: ball 0 dan kichik yoki 100 dan katta bo’lsa «Xato: ball 0–100 orasida bo’lishi kerak» chiqarsin. Bu tekshiruvni zinapoyaning boshiga qo’ying va nega aynan boshiga qo’yilishini izohda yozing.
Chuqur · 10–11-sinf — Algoritmik, chegara holatlari bilan
Uchburchakning uch tomonini so’rab, uni turini aniqlovchi programma yozing: umuman uchburchak bo’la oladimi (har tomon qolgan ikkitasining yig’indisidan kichikmi), teng tomonlimi, teng yonlimi, to’g’ri burchaklimi. Chegara holatlarini alohida sinang: 0 tomon, 1-2-3 (uchburchak emas), 3-4-5. Shartlar tartibini qanday tanladingiz va nega — qisqa izoh yozing.
Darsni belgilash uchun JavaScript kerak. Bu progressni saqlash uchun ishlatiladi — darslikning o'zi JavaScript'siz ham to'liq o'qiladi.