26-dars: Python 2.7 da if operatori bilan tanishtirish

Bugungi darsda biz dizayn bilan tanishamiz if.

if – ingliz tilida “agar” degan ma’noni anglatadi. Dasturlashda konstruksiya ifhamma joyda qo’llaniladi. Bu har qanday dasturlarni yaratish uchun asosdir. Nega? 
Ammo kodga konstruktsiyani kiritish orqali ifbiz dasturning tarmoqlanishini aniqlaymiz. Ushbu buyruq “filial operatori” deb ataladi.

Sxematik ravishda u quyidagicha ko’rinadi:

Agar siz 14 yoshdan oshgan bo’lsangiz, u holda fuqaroning pasportini dastlabki ro’yxatga olish uchun ariza berishingiz kerak.

Agar siz 14 yoshdan oshgan bo’lsangiz, unda siz bunday ariza topshirishingiz shart emas – sizda allaqachon pasport mavjud.

Agar siz 14 yoshga to’lmagan bo’lsangiz, pasport olishingizga hali erta.

Endi bu shartni dastur kodi sifatida yozamiz.


Case Study

Ish stolida fayl yaratamiz test21.pyva unga quyidagi dastur kodini qo’lda yozamiz:

# -*- kodlash: utf-8 -*-

vozrast = 14



agar vozrast == 14:
	print u "Pasport olish uchun ariza topshirishingiz kerak!"

agar vozrast > 14 bo'lsa:
	print u "Sizda allaqachon pasport bo'lishi kerak!"
	
agar vozrast < 14 bo'lsa:
	print u"Pasport olishga hali erta!"


Kodning qisqacha tushuntirishi

Oxirgi darsda biz mantiqiy ifodalar va operatorlar orqali o’tdik ( 25-darsni takrorlash ). Esda tutingki, Python bizning kodimiz rost yoki noto’g’ri ekanligini tekshirish uchun tekshiradi. Demak, bugungi darsimizda mantiqiy ifoda yordamida shart hosil qildik.

Shart o’rnatilgan blok ifblok ifyoki shart bloki deb ataladi.

Ushbu blokning birinchi qatorida biz shartning o’zini o’rnatamiz: agar o’zgaruvchan vozrast 14 ga teng bo’lsa va ikki nuqta qo’ying . Bu shuni anglatadiki, biz yangi satrdan boshlashimiz va satr boshidan 4 ta bo’sh joyni cheklashimiz kerak bo’lgan qandaydir ko’rsatmalarga amal qilishimiz kerak.

Boshqa dasturlash tillarida ko’rsatmalar bloki satr boshida yoki qavslar ichida boshlanishi mumkin { }, ammo Pythonda ular 4 ta bo’sh joydan foydalanishga qaror qilishdi va bu butun blokni bajarish uchun etarli if. Agar siz 4 ta bo’sh joy qo’ymasangiz, Python sizga xato beradi, chunki shartdan ifkeyin qandaydir ko’rsatma bo’lishi kerak.

Esda tutingki, maxsus funktsiyani yozishda biz 4 bo’shliqni ham qo’yganmiz ( 22-dars – ga o’ting ). Bu yerda ham xuddi shunday. Ko’rsatmalarga ega satrlardan so’ng biz kodni bo’sh joysiz yangi satrda boshlashimiz bilan, Python ko’rsatmalar bloki tugaganini va blok bilan bog’liq bo’lmagan butunlay boshqa kod boshlanganini tushunadi if.

Diqqat: Python barcha bloklarni iftartibda bajaradi – avval birinchi, keyin ikkinchi va hokazo. Agar birinchi shart noto’g’ri deb baholansa, Python ushbu blokdagi buyruqni bajarmaydi, lekin darhol ikkinchi blokga o’tadi. Va keyin hamma narsa bir xil bo’ladi.


Keling, kodimizni ko’rib chiqaylik. Python birinchi shart blokini bajaradi if. Agar foydalanuvchi 14 yoshda ekanligini aytsa, Python bu raqamni vozrast o’zgaruvchisi bilan taqqoslaydi va agar bu raqamlar mos kelsa (qiymat True bo’lsa), birinchi blokdagi ko’rsatma chop etiladi. Agar foydalanuvchining yoshi 14 yoshda bo’lmasa, u holda mantiqiy ifodani bajarishda Python False qiymatini oladi va birinchi blokdan buyruqni bajarmaydi, balki ikkinchi blokga o’tadi.

Ikkinchi blokda Python yana mantiqiy amalni bajaradi. Agar foydalanuvchining yoshi 14 yoshdan katta bo’lsa, u holda qiymat True va Python ushbu blokdagi ko’rsatmalarni bajaradi. Agar yoshi 14 yoshdan kichik bo’lsa, u ushbu blokdan ko’rsatmalarni bajarmaydi, lekin vaziyatning keyingi blokiga o’tadi.

Uchinchi blokda ifyana mantiqiy harakat bajariladi. Agar shaxs 14 yoshdan kichik bo’lsa, unda ushbu blokdagi ko’rsatmalar bloki bajariladi if. Va bu dasturda to’rtinchi shart bo’lishi mumkin emas. Ya’ni, odam 14 yoshda, 14 yoshdan katta yoki kichik bo’lishi mumkin.


Endi PowerShell dasturini oching va buyruqni kiriting:python desktop/test21.py

Oxir-oqibat, siz rasmdagi kabi natija olishingiz kerak.


Ko’rib turganingizdek, foydalanuvchining yoshi 14 yil. Bu zudlik bilan borib, pasport olish uchun ariza topshirish bo’yicha uning ko’rsatmalari bilan birinchi blok iftugallanganligini anglatadi. Qolgan bloklarda ifshart False, ya’ni ularning ko’rsatmalar bloklari bajarilmaydi.

Uy vazifasi

  1. Ushbu kodda odamning yoshini o’zgartirib ko’ring. PowerShell’da nima sodir bo’lishini ko’ring.
  2. Sizning holatingizni ko’rsatadigan dastur kodini tuzishga harakat qiling. Masalan, sportchilarni tana vazniga qarab turli vazn toifalariga tanlash.

Va keyingi darsda biz ichki bloklar yordamida yanada murakkab tarvaqaylab ketgan tuzilmalarni o’rganamiz – 27-darsga o’ting .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *