3. Shartli ifodalar
Hozirga qadar bizda dasturlarimiz oqimini boshqarish imkoniyati mavjud edi. Foydali kodni yozish uchun ikkita turdagi boshqaruv tuzilmalari kerak:
turli xil variantlardan birini tanlash uchun shartli bayon
takroriy bayonot, ba'zi bir vazifalarni takrorlash
if-bayonoti
Shartlar uchun Python quyidagi sintaksis bilan if-operatoridan foydalanadi:
1.
2.
|
if ifoda:
kod_bloki
|
Agar ifoda to'g'ri bo'lsa, u holda (indentatsiyalangan) kod bloki bajariladi. Agar xatolik bo'lmasa kod blokirovka qilinmaydi. Keling, bir misolni ko'rib chiqaylik:
1.
2.
3.
4.
|
a = 33 #o'zgaruvchi tayinlash
b = 200
if b > a:
print "b a dan katta"
b a dan katta
|
Agar ifoda identatsiyalanmagan bo’lsa xato paydo qiladi va kod bajarilmaydi:
1.
2.
3.
4.
|
a = 33 #o'zgaruvchi tayinlash
b = 200
if b > a:
print "x 0 dan katta"
b a dan katta
|
|
Elif bayonoti
Elif kalit so'zi Python tilida "agar avvalgi shartlar to'g'ri bo'lmagan bo'lsa, unda ushbu shartni sinab ko'r" degan ma’noni bildiradi.
If-operatorini elif-operator bilan birlashtirish mumkin, bu sizga turli xil variantlardan birini tanlashga imkon beradi:
1.
2.
3.
4.
5.
6.
7.
|
if ifoda1:
kod_bloki
elif ifoda2:
kod_bloki
elif ifoda3:
kod_bloki
...
|
Misol:
1.
2.
3.
4.
5.
6.
|
a = 33
b = 33
if b > a:
print("b a dan kattaroq")
elif a == b:
print("a va b tengdir")
a va b tengdir
|
Else bayonoti
Python shuningdek, standart variantni tanlash imkoniyatini beradigan else– bayonotini ham qo'llaydi:
Else kalit so'zi avvalgi shartlar bilan tutilmagan narsalarni ushlaydi.
1.
2.
3.
4.
5.
6.
|
if ifoda1:
kod bloki
elif ifoda2:
kod bloki
else:
kod bloki
|
Agar shunday bo'lsa ham, siz javob bera olasiz:
1.
2.
3.
4.
5.
6.
7.
8.
|
a = 200
b = 33
if b > a:
print("b a dan katta")
elif a == b:
print("a va b tengdir")
else:
print("a b dan katta")
a b dan katta
|
Qisqa If bayonoti
Agar sizda bajariladigan faqat bitta ifoda bo'lsa, uni if operatori qatoriga qo'yishingiz mumkin. Misolda bir chiziqli if ifodasi keltirilgan:
if a > b: print("a b dan katta")
# agar a b dan katta bo’lsa ekranga chiqaradi
|
Qisqacha If Else bayonoti
Agar sizda bajariladigan faqat bitta if ifoda bo'lsa, va bitta else ifoda bo’lsa ularni bir qatoriga qo'yishingiz mumkin.
1.
2.
3.
|
a = 2
b = 330
print("A") if a > b else print("B")
# agar a b dan katta bo’lsa “A” yozuvini yo’qsa “B” ni ekranga chiqaradi
|
Ushbu usul uchlamchi operatorlar (Ternary Operators) yoki shartli ifodalar (Conditional Expressions) sifatida tanilgan.
Siz bir chiziqning o’zida bir nechta else ifodalarini qo’llashingiz mumkin:
Bir qatorda if else ifoda, uchta shart bilan:
1.
2.
3.
4.
|
a = 330
b = 330
print("A") if a > b else print("=") if a==b else print("B")
|
AND kalit so’zi (Va operatori)
AND kalit so'zi mantiqiy operator bo'lib, shartli so'zlarni birlashtirish uchun ishlatiladi:
1.
2.
3.
4.
5.
|
a = 200
b = 33
c = 500
if a > b and c > a:
print("Ikkala shart ham to’g’ri")
|
Agar a b dan katta bo'lsa, VA agar c a dan katta bo'lsa, tekshiruvchi kod:
OR kalit so’zi (Yoki operatori)
OR (yoki) kalit so'z mantiqiy operator bo'lib, shartli ifodalarni birlashtirish uchun ishlatiladi:
1.
2.
3.
4.
5.
|
a = 200
b = 33
c = 500
if a > b or a > c:
print("Shartlarning kamida biri to’g’ri bo’lsa")
|
A ning b dan katta ekanligini, YOKI a ning C dan kattaligini tekshiring:
Ichki IF
Agar if ichida if ifodalari bo'lishi mumkin bo'lsa, bu "ichki if" deyiladi.
1.
2.
3.
4.
5.
6.
7.
8.
|
x = 41
if x > 10:
print("10 dan yuqori,")
if x > 20:
print("20 dan ham yuqori")
else:
print("Lekin 20 dan yuqori emas")
# 10 dan yuqori,
# 20 dan ham yuqori
|
9-mavzu: Python dasturlash tilida sikllarni boshqarish continue, break operatorlari
Reja:
Pythonda break va continue-ning ishlatilishi
Pythonda "break" bayonoti
Pythonda "continue" bayonoti
TAYANCH SO’Z VA IBORALAR
Python sikllari
|
Break kalit so’zi
|
Continue kalit so’zi
|
If bayonoti
|
While bayonoti
|
Sintaksis
|
Siklga kirish
|
Sikldan chiqish
|
Sikl takrorlanishi
|
ADABIYOTLAR:
1. Axmedov A, Taylaqov N. “Informatika”. O’zbekiston 2008 yil
2. A.A. Abduqodirov, A.X. Pardayev. Masofali o’qitish nazariyasi va amaliyoti. –T. Fan, 2009
3. A.A. Abduqodirov, R.Ishmuxamedov, A. Pardayev, Ta’limda innovatsion texnologiyalar (ta’lim muassasalari pedagog-o’qituvchilari uchun amaliy tavsiyalar).-T.: Iste’dod, 2008
4. A.A. Abduqodirov, Q.M.Karimov, I.A.Yuldashev. Aniq fanlarni o’qitishda keys texnologiyasidan foydalanish uslubiyoti. –T.: “Fan va texnologiya”, 2015
5. Olimov B.A. Masharipov M.P. “Ofis dasturlarini mustaqil o’rganuvchilar uchun”. T.: Metodik qo’llanma. 2012 yil
ELEKTRON TA’LIM RESURSLARI:
www.uzdedu.uz – O’zbekiston Respublikasi Xalq ta’lim vazirligi rasmiy sayti
www.ziyonet.uz – Axborot ta’lim portali
www.uz – Milliy qidiruv tizimi
Do'stlaringiz bilan baham: |