Conditional operators (if,elif,else)
Pythonda şərtlərdən istifadə etmək sadədir. Məsələn tutalım ki, bir obyektiniz var və 18 yaşı tamam olmuş və ya ötmüş şəxsləri içəri almaq lazım olan kod parçası yazmaq lazımdır. Kodun strukturu bu şəkildə olacaq.
Şərtləri əmələ gətirən əsas keyword-lər bunlardır. if
, elif
, else
.
else-dən və elif-dən istifadə etmək məcburi sayılmır. Bir şərt kodu təkcə if ilə əmələ gələ bilər.
else istifadə olunarsa həmişə şərt kodunun son elementi olmalıdır. else işlənmədiyi şərt kodu kaskadında ola bilər ki, situasiya heç bir şərtə uyğun olmasın. Ancaq else işlənərsə, else-dən yuxarıdakı situasiyalar doğru olmadığı halda mütləq else içindəki kod işə düşür.
Bəs yuxarıdakı kodu daha səmərəli yazmaq olmazdımı, olardı əlbətdə. Ancaq sırf elif keyword-ünün istifadəsini göstərmək üçün birinci növbədə o cür yazdım.
Yeni başlayan şəxslər adətən =
ilə ==
çaşdırırlar. =
variable assignment zamanı istifadə olunur. ==
isə bərabərliyi yoxlamaq məqsədilə istifadə olunur. Məhz buna görə də, bu iki fərqli situasiyanı bir-biri ilə qarışdırmaq olmaz.
x<y
x, y-dən kiçik olarsa True, olmazsa False cavabı verir.
x<=y
x, y-dən kiçik, və ya y-ə bərabər olarsa True, olmazsa False cavabı verir.
x>y
x, y-dən böyük olarsa True, olmazsa False cavabı verir.
x>=y
x, y-dən böyük, və ya y-ə bərabər olarsa True, olmazsa False cavabı verir.
x==y
x, y-ə bərabər olarsa True, olmazsa False cavabı verir.
x!=y
x, y-ə bərabər olmazsa True, olarsa False cavabı verir.
Xatırlıyırsınızsa operatorların prioritetləri haqqında danışmışdıq, şərt operatorları daha aşağı prioritetə sahibdirlər.
1
+
, -
unary
2
**
3
*
, /
, //
, %
4
+
, -
binary
5
<
, <=
, >
, >=
6
==
, !=
Mürəkkəb şərt kaskadları.
Koda diqqətlə baxaq, birinci sətirdə x-ə string tipində 1 rəqəmi təyin etmişik.
Üçüncü sətirdə x-in integer tipindəki 1-lə bərabər olması yoxlanılır string yox. Ona görə də üçüncü sətirdəki şərt ödənmədiyi üçün 5-ci sətirdəki elif
şərti yoxlanılır, x == "1"
x həqiqətən string tipində 1-ə bərabər olduğu üçün 6-11-ci sətirlər arasındakı kaskada keçid edirik. 6 və 8-ci sətirdəki şərtlər ödənmədiyinə görə 11-ci sətirdəki kod işə düşür və ekrana dord
yazısı çıxır.
Bundan sonra isə 12-ci sətirdə int()
type casting olunmuş 1 rəqəminin integer tipindəki 1 ilə eyniliyi yoxlanılır. Eyni olduğuna görə ekrana bes
çap olunur. 14-cü sətirdəki else 12-ci sətirdəki if-in olduğuna görə mahiyyətini itirir və proqram başa çatır.
Last updated