Skip to content

Python - Agar ... Aks Holda ​

Python Shartlari va Agar Iboralari ​

Python matematikadagi odatiy mantiqiy shartlarni qo'llab-quvvatlaydi:

  • Teng: a == b
  • Teng emas: a != b
  • Kichik: a < b
  • Kichik yoki teng: a <= b
  • Katta: a > b
  • Katta yoki teng: a >= b

Bu shartlar bir nechta usulda ishlatilishi mumkin, eng keng tarqalgani agar iboralari va tsikllarda.

Agar iborasi if kalit so'zi yordamida yoziladi.

Misol ​

Agar iborasi:

python
a = 33
b = 200
if b > a:
    print("b a dan katta")

Bu misolda biz ikkita o'zgaruvchi, a va b ni ishlatamiz, ular if iborasining bir qismi sifatida b a dan katta yoki yo'qligini tekshirish uchun ishlatiladi. a 33 ga teng, b esa 200 ga teng, shuning uchun biz 200 33 dan katta ekanligini bilamiz va shu sababli ekranga "b a dan katta" deb chop etamiz.

Joy Tashlash (Indentation) ​

Python kodning doirasini aniqlash uchun joy tashlash (satr boshidagi bo'sh joy) ga tayanadi. Boshqa dasturlash tillari ko'pincha bu maqsadda figurali qavslardan foydalanadi.

Misol

Joy tashlashsiz agar iborasi (xatolik keltirib chiqaradi):

python
a = 33
b = 200
if b > a:
print("b a dan katta") # siz xatolik olasiz

Elif ​

elif kalit so'zi Python'da "agar oldingi shartlar to'g'ri bo'lmasa, bu shartni sinab ko'r" degan ma'noni anglatadi.

Misol ​

python
a = 33
b = 33
if b > a:
    print("b a dan katta")
elif a == b:
    print("a va b teng")

Bu misolda a b ga teng, shuning uchun birinchi shart to'g'ri emas, lekin elif sharti to'g'ri, shuning uchun ekranga "a va b teng" deb chop etamiz.

Else ​

else kalit so'zi oldingi shartlar tomonidan qamrab olinmagan hamma narsani ushlaydi.

Misol ​

python
a = 200
b = 33
if b > a:
    print("b a dan katta")
elif a == b:
    print("a va b teng")
else:
    print("a b dan katta")

Bu misolda a b dan katta, shuning uchun birinchi shart to'g'ri emas, elif sharti ham to'g'ri emas, shuning uchun else shartiga o'tamiz va ekranga "a b dan katta" deb chop etamiz.

elif siz else ni ham ishlatishingiz mumkin:

Misol ​

python
a = 200
b = 33
if b > a:
    print("b a dan katta")
else:
    print("b a dan katta emas")

Qisqa Agar ​

Agar sizda faqat bitta iborani bajarish kerak bo'lsa, uni if iborasi bilan bir qatorda qo'yishingiz mumkin.

Misol ​

Bir qatorlik agar iborasi:

python
if a > b: print("a b dan katta")

Qisqa Agar ... Aks Holda ​

Agar sizda if uchun bitta va else uchun bitta ibora bo'lsa, hammasini bir qatorda yozishingiz mumkin:

Misol ​

Bir qatorlik agar-aks holda iborasi:

python
a = 2
b = 330
print("A") if a > b else print("B")

Bu texnika Ternar Operatorlar yoki Shartli Ifodalar deb ataladi.

Bir qatorda bir nechta else iboralarini ham ishlatishingiz mumkin:

Misol ​

Uch shartli bir qatorlik agar-aks holda iborasi:

python
a = 330
b = 330
print("A") if a > b else print("=") if a == b else print("B")

Va (And) ​

and kalit so'zi mantiqiy operator bo'lib, shartli iboralarni birlashtirish uchun ishlatiladi:

Misol ​

a b dan katta va c a dan katta ekanligini tekshirish:

python
a = 200
b = 33
c = 500
if a > b and c > a:
    print("Ikkala shart ham to'g'ri")

Yoki (Or) ​

or kalit so'zi mantiqiy operator bo'lib, shartli iboralarni birlashtirish uchun ishlatiladi:

Misol ​

a b dan katta yoki a c dan katta ekanligini tekshirish:

python
a = 200
b = 33
c = 500
if a > b or a > c:
    print("Shartlardan kamida bittasi to'g'ri")

Emas (Not) ​

not kalit so'zi mantiqiy operator bo'lib, shartli iboraning natijasini teskari qilish uchun ishlatiladi:

Misol ​

a b dan katta emasligini tekshirish:

python
a = 33
b = 200
if not a > b:
    print("a b dan katta emas")

Ichki Agar ​

Siz if iboralari ichida if iboralarini ishlatishingiz mumkin, bunga ichki agar iboralari deyiladi.

Misol ​

python
x = 41

if x > 10:
    print("O'ndan yuqori,")
    if x > 20:
        print("va shuningdek 20 dan yuqori!")
    else:
        print("lekin 20 dan yuqori emas.")

Pass Ibora ​

if iboralari bo'sh bo'la olmaydi, lekin agar biron sababga ko'ra ichida hech narsa bo'lmagan if iborangiz bo'lsa, xatolikni oldini olish uchun pass iborasini qo'ying.

Misol ​

python
a = 33
b = 200

if b > a:
    pass

Shartli operatorlar (if, elif, else) mavzusida test

Savol 1 / 8

Python'da kodi blokining doirasini (scope) belgilash uchun nimadan foydalaniladi?