Skip to content

Latest commit

 

History

History
518 lines (373 loc) · 10.5 KB

README.md

File metadata and controls

518 lines (373 loc) · 10.5 KB

Fəsil 4: İdarəetmə Axını və Şərtlər

Mündəricat

Şərt Bəyanatları

Şərt bəyanatları müəyyən şərtlərə əsaslanaraq müxtəlif kod bloklarını icra etməyə imkan verir.

if Bəyanatı

if bəyanatı müəyyən edilmiş şərt doğru olduqda kod blokunu icra edir.

x = 10
if x > 5:
    print("x 5-dən böyükdür")

Nəticə:

x 5-dən böyükdür

if-else Bəyanatı

if-else bəyanatı şərt doğru olduqda bir kod blokunu, yanlış olduqda isə başqa bir kod blokunu icra edir.

x = 3
if x > 5:
    print("x 5-dən böyükdür")
else:
    print("x 5-dən böyük deyil")

Nəticə:

x 5-dən böyük deyil

if-elif-else Bəyanatı

if-elif-else bəyanatı bir neçə şərti yoxlamağa imkan verir.

x = 7
if x > 10:
    print("x 10-dan böyükdür")
elif x > 5:
    print("x 5-dən böyükdür, lakin 10-dan kiçik və ya bərabərdir")
else:
    print("x 5-dən kiçik və ya bərabərdir")

Nəticə:

x 5-dən böyükdür, lakin 10-dan kiçik və ya bərabərdir

İç-içə if Bəyanatları

if bəyanatlarını digər if bəyanatlarının içində yerləşdirə bilərsiniz.

x = 15
if x > 10:
    print("x 10-dan böyükdür")
    if x > 20:
        print("x həmçinin 20-dən də böyükdür")
    else:
        print("x 20-dən böyük deyil")

Nəticə:

x 10-dan böyükdür
x 20-dən böyük deyil

Müqayisə Operatorları

Müqayisə operatorları iki dəyəri müqayisə etmək üçün istifadə olunur.

x = 10
y = 20

print(x == y)  # Bərabərdir
print(x != y)  # Bərabər deyil
print(x > y)   # Böyükdür
print(x < y)   # Kiçikdir
print(x >= y)  # Böyük və ya bərabərdir
print(x <= y)  # Kiçik və ya bərabərdir

Nəticə:

Yanlış
Doğru
Yanlış
Doğru
Yanlış
Doğru

Nümunə: Yaşı Yoxlamaq

age = 18
if age >= 18:
    print("Siz yetkinsiniz.")
else:
    print("Siz yetkin deyilsiniz.")

Nəticə:

Siz yetkinsiniz.

Məntiqi Operatorlar

Məntiqi operatorlar şərt bəyanatlarını birləşdirmək üçün istifadə olunur.

and Operatoru

and operatoru hər iki şərt doğru olduqda Doğru qaytarır.

x = 10
y = 20

print(x > 5 and y > 15)  # Doğru
print(x > 15 and y > 15)  # Yanlış

Nəticə:

Doğru
Yanlış

or Operatoru

or operatoru ən azı bir şərt doğru olduqda Doğru qaytarır.

x = 10
y = 20

print(x > 5 or y > 25)  # Doğru
print(x > 15 or y > 25)  # Yanlış

Nəticə:

Doğru
Yanlış

not Operatoru

not operatoru şərt yanlış olduqda Doğru qaytarır.

x = 10

print(not (x > 15))  # Doğru
print(not (x > 5))   # Yanlış

Nəticə:

Doğru
Yanlış

Nümunə: Bir Neçə Şərti Yoxlamaq

age = 25
income = 50000

if age > 18 and income > 30000:
    print("Siz kredit üçün uyğunsunuz.")
else:
    print("Siz kredit üçün uyğun deyilsiniz.")

Nəticə:

Siz kredit üçün uyğunsunuz.

Kimlik Operatorları

Kimlik operatorları iki obyektin yaddaş yerlərini müqayisə etmək üçün istifadə olunur.

is Operatoru

is operatoru hər iki dəyişən eyni obyektə işarə etdikdə Doğru qaytarır.

x = ["alma", "banan"]
y = ["alma", "banan"]
z = x

print(x is z)  # Doğru, çünki z x ilə eyni obyektdir
print(x is y)  # Yanlış, çünki x y ilə eyni obyekt deyil
print(x == y)  # Doğru, çünki x y ilə bərabərdir

Nəticə:

Doğru
Yanlış
Doğru

is not Operatoru

is not operatoru hər iki dəyişən eyni obyektə işarə etmədikdə Doğru qaytarır.

x = ["alma", "banan"]
y = ["alma", "banan"]
z = x

print(x is not z)  # Yanlış, çünki z x ilə eyni obyektdir
print(x is not y)  # Doğru, çünki x y ilə eyni obyekt deyil

Nəticə:

Yanlış
Doğru

Üzvlük Operatorları

Üzvlük operatorları bir ardıcıllığın obyektin içində olub-olmadığını yoxlamaq üçün istifadə olunur.

in Operatoru

in operatoru müəyyən edilmiş dəyər obyektin içində olduqda Doğru qaytarır.

x = ["alma", "banan"]

print("banan" in x)  # Doğru, çünki "banan" siyahıda var
print("gilas" in x)  # Yanlış, çünki "gilas" siyahıda yoxdur

Nəticə:

Doğru
Yanlış

not in Operatoru

not in operatoru müəyyən edilmiş dəyər obyektin içində olmadıqda Doğru qaytarır.

x = ["alma", "banan"]

print("banan" not in x)  # Yanlış, çünki "banan" siyahıda var
print("gilas" not in x)  # Doğru, çünki "gilas" siyahıda yoxdur

Nəticə:

Yanlış
Doğru

Ternar Operator

Ternar operator bir şərtə əsaslanaraq dəyişənə dəyər təyin etməyə imkan verir.

x = 10
y = 20

nəticə = "x daha böyükdür" əgər x > y else "y daha böyükdür"
print(nəticə)

Nəticə:

y daha böyükdür

Nümunə: Cüt və ya Tək Yoxlamaq

number = 5
nəticə = "Cüt" əgər number % 2 == 0 else "Tək"
print(nəticə)

Nəticə:

Tək

Match-Case Bəyanatı

match-case bəyanatı naxış uyğunluğu üçün istifadə olunur və digər dillərdəki switch bəyanatına bənzəyir.

def http_status(status):
    match status:
        case 200:
            return "OK"
        case 404:
            return "Tapılmadı"
        case 500:
            return "Daxili Server Xətası"
        case _:
            return "Naməlum Status"

print(http_status(200))
print(http_status(404))
print(http_status(500))
print(http_status(123))

Nəticə:

OK
Tapılmadı
Daxili Server Xətası
Naməlum Status

Nümunə: Həftənin Günü

def day_of_week(day):
    match day:
        case 1:
            return "Bazar ertəsi"
        case 2:
            return "Çərşənbə axşamı"
        case 3:
            return "Çərşənbə"
        case 4:
            return "Cümə axşamı"
        case 5:
            return "Cümə"
        case 6:
            return "Şənbə"
        case 7:
            return "Bazar"
        case _:
            return "Yanlış gün"

print(day_of_week(1))
print(day_of_week(5))
print(day_of_week(7))
print(day_of_week(0))

Nəticə:

Bazar ertəsi
Cümə
Bazar
Yanlış gün

Operator Prioriteti

Operator prioriteti ifadədə əməliyyatların hansı ardıcıllıqla yerinə yetirildiyini müəyyən edir. Yüksək prioritetli operatorlar aşağı prioritetli operatorlardan əvvəl qiymətləndirilir.

Prioritet Cədvəli

Burada Python-da operatorların prioritet cədvəli, ən yüksəkdən ən aşağıya doğru sıralanmışdır:

  1. ** (Üstələmə)
  2. +x, -x, ~x (Unary plus, Unary minus, Bitwise NOT)
  3. *, /, //, % (Çoxaltma, Bölmə, Tam Bölmə, Modulus)
  4. +, - (Toplama, Çıxma)
  5. <<, >> (Bitwise shift operatorları)
  6. & (Bitwise AND)
  7. ^ (Bitwise XOR)
  8. | (Bitwise OR)
  9. ==, !=, >, >=, <, <=, is, is not, in, not in (Müqayisələr, Kimlik, Üzvlük)
  10. not (Məntiqi NOT)
  11. and (Məntiqi AND)
  12. or (Məntiqi OR)
  13. if - else (Ternar operator)
  14. = (Təyinat) və digər təyinat operatorları (+=, -=, *=, /=, //=, %=, **=, &=, |=, ^=, >>=, <<=)

Nümunələr

Nümunə 1: Üstələmə və Çoxaltma

nəticə = 2 ** 3 * 4
print(nəticə)

Nəticə:

32

İzah: Üstələmə (**) çoxaltmadan (*) daha yüksək prioritetə malikdir, buna görə də əvvəlcə 2 ** 3 qiymətləndirilir, nəticədə 8 alınır və sonra 8 * 4 qiymətləndirilir, nəticədə 32 alınır.

Nümunə 2: Toplama və Çoxaltma

nəticə = 2 + 3 * 4
print(nəticə)

Nəticə:

14

İzah: Çoxaltma (*) toplama (+) daha yüksək prioritetə malikdir, buna görə də əvvəlcə 3 * 4 qiymətləndirilir, nəticədə 12 alınır və sonra 2 + 12 qiymətləndirilir, nəticədə 14 alınır.

Nümunə 3: Mötərizələr

nəticə = (2 + 3) * 4
print(nəticə)

Nəticə:

20

İzah: Möhtərizələr ən yüksək prioritetə malikdir, buna görə də möhtərizələr içindəki ifadə (2 + 3) əvvəlcə qiymətləndirilir, nəticədə 5 alınır və sonra 5 * 4 qiymətləndirilir, nəticədə 20 alınır.

Nümunə 4: Məntiqi Operatorlar

nəticə = not (Doğru  Yanlış)  ya Doğru
print(nəticə)

Nəticə:

Doğru

İzah: and operatoru not operatorundan daha yüksək prioritetə malikdir, buna görə də əvvəlcə Doğru və Yanlış qiymətləndirilir, nəticədə Yanlış alınır. Sonra not Yanlış qiymətləndirilir, nəticədə Doğru alınır. Nəhayət, Doğru və ya Doğru qiymətləndirilir, nəticədə Doğru alınır.

Nümunə 5: Müqayisə və Məntiqi Operatorlar

x = 10
y = 20
nəticə = x < y  y > 15
print(nəticə)

Nəticə:

Doğru

İzah: Müqayisə operatorları (<, >) məntiqi operatorlardan (and) daha yüksək prioritetə malikdir, buna görə də əvvəlcə x < yy > 15 qiymətləndirilir, nəticədə DoğruDoğru alınır. Sonra Doğru və Doğru qiymətləndirilir, nəticədə Doğru alınır.

Xülasə

Bu fəsildə biz şərt bəyanatlarını, müqayisə operatorlarını, məntiqi operatorları, kimlik operatorlarını, üzvlük operatorlarını, ternar operatoru, match-case bəyanatını və operator prioritetini öyrəndik.

Tapşırıqlar

  1. Bir ədədin müsbət, mənfi və ya sıfır olduğunu yoxlayan proqram yazın.
  2. Bir ədədin cüt və ya tək olduğunu yoxlayan proqram yazın.
  3. Bir qiyməti daxil edən və müvafiq hərf qiymətini (A, B, C, D, F) çap edən proqram yazın.
  4. Bir rəqəmə əsaslanaraq həftənin gününün adını çap edən match-case bəyanatından istifadə edən proqram yazın (1 Bazar ertəsi, 2 Çərşənbə axşamı və s.).
  5. Müxtəlif operatorları bir ifadədə istifadə edərək operator prioritetini nümayiş etdirən proqram yazın.

Növbəti Fəsil: Döngələr və Təkrarlama