4. Operatorlar va shartlar¶
Dastur ko‘pincha biror qaror qabul qilishi kerak bo‘ladi.
Masalan:
Agar foydalanuvchi 18 yoshdan katta bo‘lsa → ruxsat berish.
Aks holda → rad etish.
Python'da bunday qarorlar operatorlar va shartli konstruksiyalar yordamida yoziladi.
Arifmetik operatorlar¶
Python'da asosiy arifmetik operatorlar:
+ qo‘shish
- ayirish
* ko‘paytirish
/ bo‘lish
// butun bo‘lish
% qoldiq
** daraja
Misol:
birinchi_son = 20
ikkinchi_son = 6
print(
birinchi_son + ikkinchi_son
)
print(
birinchi_son - ikkinchi_son
)
print(
birinchi_son * ikkinchi_son
)
print(
birinchi_son / ikkinchi_son
)
print(
birinchi_son // ikkinchi_son
)
print(
birinchi_son % ikkinchi_son
)
print(
birinchi_son ** 2
)
Taqqoslash operatorlari¶
Ikki qiymatni solishtirish uchun quyidagi operatorlar ishlatiladi:
== teng
!= teng emas
> katta
< kichik
>= katta yoki teng
<= kichik yoki teng
Natija doimo:
True
yoki:
False
bo‘ladi.
==¶
Ikki qiymat tengligini tekshirish:
birinchi_son = 10
ikkinchi_son = 10
natija = (
birinchi_son == ikkinchi_son
)
print(
natija
)
Natija:
True
!=¶
Qiymatlar teng emasligini tekshirish:
birinchi_son = 10
ikkinchi_son = 20
print(
birinchi_son != ikkinchi_son
)
Natija:
True
Katta va kichik¶
birinchi_son = 20
ikkinchi_son = 10
print(
birinchi_son > ikkinchi_son
)
print(
birinchi_son < ikkinchi_son
)
Natija:
True
False
>= va <=¶
yosh = 18
print(
yosh >= 18
)
print(
yosh <= 18
)
Natija:
True
True
Mantiqiy operatorlar¶
Python'da uchta asosiy mantiqiy operator mavjud:
and
or
not
Ular bir nechta shartni birlashtirish uchun ishlatiladi.
and¶
and operatorida barcha shartlar True bo‘lishi kerak.
yosh = 25
hujjat_bor = True
if yosh >= 18 and hujjat_bor:
print(
"Kirishga ruxsat berildi."
)
Bu yerda ikkala shart ham bajarilgan:
yosh >= 18 → True
hujjat_bor → True
Shuning uchun natija:
Kirishga ruxsat berildi.
or¶
or operatorida kamida bitta shart True bo‘lsa yetarli.
administrator = False
moderator = True
if administrator or moderator:
print(
"Boshqaruv paneliga kirish mumkin."
)
Natija:
Boshqaruv paneliga kirish mumkin.
not¶
not qiymatni teskarisiga aylantiradi.
faol = False
if not faol:
print(
"Foydalanuvchi faol emas."
)
Natija:
Foydalanuvchi faol emas.
and, or, not birgalikda¶
yosh = 25
hujjat_bor = True
bloklangan = False
if yosh >= 18 and hujjat_bor and not bloklangan:
print(
"Kirishga ruxsat berildi."
)
if¶
if shartni tekshirish uchun ishlatiladi.
yosh = 25
if yosh >= 18:
print(
"Siz voyaga yetgansiz."
)
Natija:
Siz voyaga yetgansiz.
Agar shart False bo‘lsa, blok bajarilmaydi.
if va indentation¶
Python'da if ichidagi kod indentation bilan yoziladi.
To‘g‘ri:
yosh = 25
if yosh >= 18:
print(
"Voyaga yetgansiz."
)
Noto‘g‘ri:
yosh = 25
if yosh >= 18:
print(
"Voyaga yetgansiz."
)
else¶
Agar if sharti bajarilmasa, else bloki bajariladi.
yosh = 16
if yosh >= 18:
print(
"Kirishga ruxsat berildi."
)
else:
print(
"Kirish rad etildi."
)
Natija:
Kirish rad etildi.
elif¶
Bir nechta shartni tekshirish uchun elif ishlatiladi.
baho = 85
if baho >= 90:
print(
"A'lo."
)
elif baho >= 70:
print(
"Yaxshi."
)
elif baho >= 60:
print(
"Qoniqarli."
)
else:
print(
"Qoniqarsiz."
)
Natija:
Yaxshi.
Python shartlarni yuqoridan pastga qarab tekshiradi.
Birinchi True bo‘lgan blok bajariladi.
Bir nechta elif¶
ball = 75
if ball >= 90:
natija = "A'lo"
elif ball >= 80:
natija = "Yaxshi"
elif ball >= 70:
natija = "Qoniqarli"
elif ball >= 60:
natija = "O‘tish"
else:
natija = "Yiqildi"
print(
f"Natija: {natija}"
)
Natija:
Natija: Qoniqarli
Ichma-ich if¶
Bir if ichida boshqa if bo‘lishi mumkin.
yosh = 25
hujjat_bor = True
if yosh >= 18:
if hujjat_bor:
print(
"Kirishga ruxsat berildi."
)
else:
print(
"Hujjat mavjud emas."
)
else:
print(
"Yosh yetarli emas."
)
Shartni bitta if ga birlashtirish¶
Yuqoridagi kodni and bilan qisqartirish mumkin:
yosh = 25
hujjat_bor = True
if yosh >= 18 and hujjat_bor:
print(
"Kirishga ruxsat berildi."
)
else:
print(
"Kirish rad etildi."
)
in¶
in qiymatning kolleksiya ichida mavjudligini tekshiradi.
List:
mevalar = [
"olma",
"banan",
"anor"
]
if "olma" in mevalar:
print(
"Olma mavjud."
)
not in¶
mevalar = [
"olma",
"banan",
"anor"
]
if "shaftoli" not in mevalar:
print(
"Shaftoli mavjud emas."
)
is¶
is ikki o‘zgaruvchi aynan bir xil obyektga murojaat qilayotganini tekshiradi.
Ko‘pincha None bilan ishlatiladi:
foydalanuvchi = None
if foydalanuvchi is None:
print(
"Foydalanuvchi tanlanmagan."
)
Bu holatda is None ishlatish tavsiya qilinadi.
is not¶
foydalanuvchi = "Softromeda"
if foydalanuvchi is not None:
print(
"Foydalanuvchi mavjud."
)
== va is farqi¶
Bu ikkisini aralashtirmaslik kerak.
== qiymatlarni solishtiradi:
birinchi_matn = "Softromeda"
ikkinchi_matn = "Softromeda"
if birinchi_matn == ikkinchi_matn:
print(
"Qiymatlar teng."
)
is esa obyektning aynan o‘zi ekanini tekshiradi.
qiymat = None
if qiymat is None:
print(
"Qiymat mavjud emas."
)
Oddiy qiymat tengligini tekshirishda == ishlatiladi.
Truthy va falsy qiymatlar¶
Python'da ayrim qiymatlar shartda False kabi baholanadi.
Masalan:
False
None
0
0.0
""
[]
()
{}
set()
Masalan:
ism = ""
if ism:
print(
"Ism mavjud."
)
else:
print(
"Ism kiritilmagan."
)
Natija:
Ism kiritilmagan.
Bo‘sh list¶
foydalanuvchilar = []
if foydalanuvchilar:
print(
"Foydalanuvchilar mavjud."
)
else:
print(
"Foydalanuvchilar mavjud emas."
)
Natija:
Foydalanuvchilar mavjud emas.
Shartli ifoda¶
Oddiy holatda ifni bitta qatorda yozish mumkin:
yosh = 25
natija = "Voyaga yetgan" if yosh >= 18 else "Voyaga yetmagan"
print(
natija
)
Natija:
Voyaga yetgan
Bu usul ternary expression deb ataladi.
Shartli ifodadan foydalanish¶
son = 10
juftlik = "Juft" if son % 2 == 0 else "Toq"
print(
juftlik
)
Natija:
Juft
Operatorlarning ustuvorligi¶
Python ifodalarni ma’lum tartibda hisoblaydi.
Masalan:
natija = 10 + 5 * 2
Natija:
20
Avval:
5 * 2
keyin:
10 + 10
hisoblanadi.
Qavs yordamida tartibni aniq belgilash mumkin:
natija = (
(10 + 5)
* 2
)
Natija:
30
Mantiqiy operatorlar ustuvorligi¶
Umuman olganda:
not
and
or
tartibida bajariladi.
Masalan:
natija = True or False and False
Avval and:
False and False → False
Keyin or:
True or False → True
Natija:
True
Murakkab shartlarda qavs ishlatish kodni tushunarli qiladi:
if (
(yosh >= 18)
and
(hujjat_bor or maxsus_ruxsat)
):
print(
"Kirishga ruxsat berildi."
)
Amaliy misol — yoshni tekshirish¶
yosh = int(
input(
"Yoshingizni kiriting: "
)
)
if yosh < 0:
print(
"Yosh noto‘g‘ri."
)
elif yosh < 18:
print(
"Siz voyaga yetmagansiz."
)
else:
print(
"Siz voyaga yetgansiz."
)
Amaliy misol — parol tekshirish¶
parol = input(
"Parolni kiriting: "
)
if parol == "Softromeda":
print(
"Parol to‘g‘ri."
)
else:
print(
"Parol noto‘g‘ri."
)
Amaliy misol — baholash tizimi¶
ball = int(
input(
"Ballni kiriting: "
)
)
if ball < 0 or ball > 100:
print(
"Ball noto‘g‘ri."
)
elif ball >= 90:
print(
"Baho: A'lo"
)
elif ball >= 70:
print(
"Baho: Yaxshi"
)
elif ball >= 60:
print(
"Baho: Qoniqarli"
)
else:
print(
"Baho: Qoniqarsiz"
)
Amaliy misol — login tekshirish¶
foydalanuvchi_nomi = input(
"Foydalanuvchi nomini kiriting: "
)
parol = input(
"Parolni kiriting: "
)
if (
foydalanuvchi_nomi == "Softromeda"
and parol == "Python123"
):
print(
"Tizimga kirish muvaffaqiyatli."
)
else:
print(
"Foydalanuvchi nomi yoki parol noto‘g‘ri."
)
Amaliy mashqlar¶
Mashq 1¶
Foydalanuvchidan son oling va uning:
Musbat
Manfiy
Nol
ekanini aniqlang.
Mashq 2¶
Foydalanuvchidan yosh oling:
0–12 → Bola
13–17 → O‘smir
18–59 → Katta
60+ → Katta yoshli
natijasini chiqaring.
Mashq 3¶
Sonning juft yoki toq ekanini aniqlang.
Mashq 4¶
Ikki son qabul qiling va kattasini aniqlang.
Mashq 5¶
Uchta son qabul qilib, eng kattasini aniqlang.
Mashq 6¶
Foydalanuvchi nomi va parolni tekshiring.
Mashq 7¶
Berilgan matnda ma’lum so‘z mavjudligini in yordamida tekshiring.
Mashq 8¶
Berilgan qiymat None ekanini is None yordamida tekshiring.
Mashq 9¶
Bo‘sh list va bo‘sh bo‘lmagan listni if yordamida farqlang.
Mashq 10¶
Ball asosida baho chiqaradigan dastur yozing.
Mini loyiha — Softromeda kirish tizimi¶
Foydalanuvchidan ism, parol va yoshni qabul qilamiz.
foydalanuvchi_nomi = input(
"Foydalanuvchi nomini kiriting: "
)
parol = input(
"Parolni kiriting: "
)
yosh = int(
input(
"Yoshingizni kiriting: "
)
)
if (
foydalanuvchi_nomi == "Softromeda"
and parol == "Python123"
):
if yosh >= 18:
print(
"Softromeda tizimiga kirish muvaffaqiyatli."
)
else:
print(
"Kirish uchun yoshingiz yetarli emas."
)
else:
print(
"Foydalanuvchi nomi yoki parol noto‘g‘ri."
)
Bu kichik loyiha quyidagi tushunchalarni birlashtiradi:
input()
int()
if
elif
else
and
==
>=
Bob xulosasi¶
Bu bobda Python dasturiga qaror qabul qilish imkonini beradigan operator va shartlarni o‘rgandik.
Asosiy operatorlar:
+
-
*
/
//
%
**
==
!=
>
<
>=
<=
Mantiqiy operatorlar:
and
or
not
Shartli konstruksiyalar:
if
elif
else
Shuningdek:
in
not in
is
is not
operatorlari bilan ham tanishdik.
Keyingi bobda sikllar: for, while, break, continue va range() yordamida takrorlanuvchi kodlarni qanday boshqarishni o‘rganamiz.