Asosiy mazmunga o'tish

5-dars: if, elif, else

2-blokQarorlar va takrorlash5–8 darslar

Bu darsdan keyin siz

  • if, elif, else bilan programmaga qaror qabul qilishni o’rgatasiz
  • taqqoslash va mantiqiy amallardan shart tuzasiz
  • elif zinapoyasida tartibning ahamiyatini tushuntirasiz

if 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.

Python’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.

baho.py
ball = 85if ball >= 90:  print("Baho: 5")elif ball >= 70:  print("Baho: 4")elif ball >= 50:  print("Baho: 3")else:  print("Baho: 2")

Python shartlarni yuqoridan pastga tekshiradi va birinchi mos kelganini bajaradi. Qolgan elif lar hatto tekshirilmaydi. Shu sababli shartlar qattiqdan yumshoqqa tartibda yozilishi kerak.

Avval o'ylang: bu kod nima chiqaradi? Ishga tushirishdan oldin yozing.

Bashorat qiling
yosh = 15if yosh >= 18:  print("Voyaga yetgan")elif yosh >= 13:  print("O'smir")else:  print("Bola")print("Tekshirish tugadi")
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.

Bashorat qiling
ball = 95if ball >= 50:  print("3")elif ball >= 90:  print("5")
Javobni ko'rish
3

Tartib buzilgan: birinchi shart 95 ball uchun ham rost, shuning uchun 3 chiqdi va ikkinchi shart tekshirilmadi ham.

Ballni 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.

    Bu kod ataylab buzuq — xatoni toping

    Buzuq kod
    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.

    1if 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 — 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.