- Müqayisə operatorları ilə
Truevə yaFalsenəticəsi almaq if,elifvəelseilə budaqlanan proqram yazmaq- Şərtləri
and,orvənotilə birləşdirmək
Hər gün onlarla qərar veririk: yağış yağırsa, çətir götürürük; işıqfor qırmızıdırsa, gözləyirik; ev tapşırığı bitibsə, oynamağa gedirik. Proqramlar da belə işləyir: vəziyyəti yoxlayır və nəticədən asılı olaraq fərqli addımlar atır. Python-da bunun üçün şərt operatorları var.
Müqayisə operatorları
Hər qərarın əsasında «bəli» və ya «xeyr» cavabı verilən sual durur. Python-da belə suallar müqayisə operatorları ilə yazılır və cavab həmişə məntiqi qiymətdir: True (doğru) və ya False (yalan).
| Operator | Mənası | Nümunə |
|---|---|---|
== | bərabərdir | 5 == 5 → True |
!= | bərabər deyil | 5 != 3 → True |
> | böyükdür | 2 > 7 → False |
< | kiçikdir | 2 < 7 → True |
>= | böyük və ya bərabərdir | 7 >= 7 → True |
<= | kiçik və ya bərabərdir | 8 <= 7 → False |
age = 14
print(age > 12)
print(age == 18)
print(age != 18)
print('Baku' == 'baku')
print(5 <= 5)▸ Gözlənilən nəticə
True False True False True
if operatoru
if sözündən sonra şərt yazılır, sonda isə iki nöqtə (:) qoyulur. Şərt True olarsa, altındakı içəri çəkilmiş sətirlər icra olunur; False olarsa, Python onları keçib gedir.
temperature = 32
if temperature > 30:
print('It is hot today!')
print('Drink more water.')
print('Have a nice day.')▸ Gözlənilən nəticə
It is hot today! Drink more water. Have a nice day.
temperature qiymətini 20 et və nəticənin necə dəyişdiyinə bax.Sətrin əvvəlindəki boşluqlar. Python-da abzas hansı sətirlərin bir blok təşkil etdiyini göstərir. Adətən 4 boşluq istifadə olunur. Nümunədəki son sətir içəri çəkilmədiyi üçün şərtdən asılı olmayaraq həmişə icra olunur.
else və elif
else («əks halda») şərt yalan olduqda nə edilməli olduğunu göstərir. Məsələn, ədədin cüt olub-olmadığını 2-yə bölünəndə alınan qalıqla yoxlaya bilərik:
number = 7
if number % 2 == 0:
print(number, 'is even')
else:
print(number, 'is odd')▸ Gözlənilən nəticə
7 is odd
Seçim ikidən çox olanda elif («else if» sözlərinin qısaltması) köməyə gəlir. Python şərtləri yuxarıdan aşağıya yoxlayır və ilk doğru şərtin blokunu icra edir — qalanlarına artıq baxmır. Heç biri doğru deyilsə, else bloku işləyir.
score = 78
if score >= 90:
grade = 'Excellent'
elif score >= 75:
grade = 'Good'
elif score >= 50:
grade = 'Satisfactory'
else:
grade = 'Try again'
print(f'Score {score}: {grade}')▸ Gözlənilən nəticə
Score 78: Good
score >= 75 işləyir.and, or, not
A and B— hər iki şərt doğru olduqdaTrue.A or B— şərtlərdən ən azı biri doğru olduqdaTrue.not A— şərti tərsinə çevirir:TrueFalseolur və əksinə.
age = 15
has_ticket = True
is_weekend = False
if age >= 12 and has_ticket:
print('You can watch the film.')
if is_weekend or age < 7:
print('Free entry!')
else:
print('Entry costs 5 AZN.')
if not is_weekend:
print('See you after school!')▸ Gözlənilən nəticə
You can watch the film. Entry costs 5 AZN. See you after school!
and operatoru AND ventili kimi işləyir. OR və NOT ventillərini də seç və cədvəlləri müqayisə et.İl 4-ə bölünürsə uzundur, amma 100-ə bölünən illər yalnız 400-ə də bölündükdə uzun sayılır. 2024-cü ilin uzun olub-olmadığını yoxlayan şərt yaz.
Həllini göstərHəllini gizlət
and ilə yazırıq: year % 4 == 0 and year % 100 != 0.«və ya 400-ə bölünür» hissəsini
or ilə əlavə edirik: or year % 400 == 0.Mötərizə birinci hissəni bir yerdə saxlayır. Nəticə aşağıdakı koddadır.
year = 2024
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
print(year, 'is a leap year')
else:
print(year, 'is not a leap year')▸ Gözlənilən nəticə
2024 is a leap year
number dəyişəninə bax: ədəd sıfırdan böyükdürsə positive, kiçikdirsə negative, sıfıra bərabərdirsə zero çap et. if, elif və else işlət. Hər budağı yoxlamaq üçün number-in qiymətini dəyişib sına.
number = -7
# print positive, negative or zero▸ Gözlənilən nəticə
negative
Ayselin balı score = 83-dür, ev tapşırığını da edib (homework_done = True). Əvvəlcə qiyməti çap et: bal ən azı 90-dırsa A, ən azı 75-dirsə B, ən azı 50-dirsə C, əks halda F. Sonra, əgər bal ən azı 80-dirsə və ev tapşırığı edilibsə, ayrıca sətirdə Bonus star! çap et.
score = 83
homework_done = True
# 1) print A, B, C or F
# 2) print Bonus star! if score >= 80 and the homework is done▸ Gözlənilən nəticə
B Bonus star!
Əsas fikirlər
- Müqayisə operatorları (
==,!=,<,>,<=,>=)Truevə yaFalseqaytarır. ifşərtindən sonra iki nöqtə qoyulur, blok isə 4 boşluqla içəri çəkilir.elifzəncirində yalnız ilk doğru şərtin bloku icra olunur; heç biri doğru deyilsə,elseişləyir.andhər iki şərtin,orən azı birinin doğru olmasını tələb edir,notisə şərti tərsinə çevirir.=mənimsətmədir,==isə müqayisə.
Özünü yoxla
10 sual. Hər düzgün cavab XP qazandırır.
10 != 10 ifadəsinin nəticəsi nədir?