Məzmuna keç
Educora
Başlanğıc15 dəq4 / 42

Şərtlər: if, elif, else

Proqramına qərar verməyi öyrət: müqayisə operatorları, if/elif/else və məntiqi and, or, not.

Özünü yoxla
Bu dərsdə öyrənəcəksən
  • Müqayisə operatorları ilə True və ya False nəticəsi almaq
  • if, elif və else ilə budaqlanan proqram yazmaq
  • Şərtləri and, or və not ilə 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).

OperatorMənasıNümunə
==bərabərdir5 == 5 → True
!=bərabər deyil5 != 3 → True
>böyükdür2 > 7 → False
<kiçikdir2 < 7 → True
>=böyük və ya bərabərdir7 >= 7 → True
<=kiçik və ya bərabərdir8 <= 7 → False
Python
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.

Python
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.
Tərif
Abzas (içəri çəkmə)

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:

Python
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.

Python
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
78 həm 75-dən, həm də 50-dən böyükdür, amma yalnız ilk doğru şərt — score >= 75 işləyir.

and, or, not

  • A and B — hər iki şərt doğru olduqda True.
  • A or B — şərtlərdən ən azı biri doğru olduqda True.
  • not A — şərti tərsinə çevirir: True False olur və əksinə.
Python
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!
İnteraktiv
Simulyasiya yüklənir…
Python-un and operatoru AND ventili kimi işləyir. OR və NOT ventillərini də seç və cədvəlləri müqayisə et.
Nümunə: uzun il

İ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ər
«4-ə bölünür və 100-ə bölünmür» hissəsini 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.
Python
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
1900-cü və 2000-ci illəri də yoxla: birincisi uzun il deyil, ikincisi isə uzundur.
Tapşırıq

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.

Tapşırıq · Python
number = -7
# print positive, negative or zero
▸ Gözlənilən nəticə
negative
Tapşırıq

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.

Tapşırıq · Python
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ı (==, !=, <, >, <=, >=) True və ya False qaytarır.
  • if şərtindən sonra iki nöqtə qoyulur, blok isə 4 boşluqla içəri çəkilir.
  • elif zəncirində yalnız ilk doğru şərtin bloku icra olunur; heç biri doğru deyilsə, else işləyir.
  • and hər iki şərtin, or ən azı birinin doğru olmasını tələb edir, not isə şə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.

1 / 10
10 != 10 ifadəsinin nəticəsi nədir?