Natamam Budaqlanma

Sonda şərt operatorunun sadələşdirilmiş formatını da nəzərdən keçirək. Buna natamam budaqlanma da deyilir. Bu yazılışda else operatoru iştirak etmir və əgər bir neçə natamam budaqlanma operatorundan istifadə edilirsə, şərtlər bir-birindən asılı olmadan yoxlanılır. Biz yuxarıda verilmiş tam ədədin cüt və ya tək olduğunu yoxlayan proqram yazmışdıq. İndi isə gəlin həmin misala şərt operatorunun sadələşdirilmiş variantını tətbiq edək:

a = int(input("Ədədi daxil edin: ")) 
if a % 2 == 0:
    print("Cüt") 
if a % 2 != 0:
    print("Tək")

Gördüyünüz kimi, burada iki şərt bir-birindən asılı olmadan yoxlanılır. Fərz edək ki, ədəd cütdür. Bu zaman ilk yoxlanılan şərt ödənildiyinə görə ekrana ədədin cüt olması haqda məlumat çıxacaq. Amma bundan sonra ikinci şərt də yoxlanılacaq. Bu cür yanaşma isə cari misal üçün məqbul deyil. Əslində bu kimi misalları if-else variantı ilə həll etmək daha doğrudur. Şərt operatorunun sadələşdirilmiş variantını isə bir şərtin yalnız doğru olma halını və ya şərtlər mahiyyətcə bir-birindən fərqli olanda onların doğruluğunu yoxlamaq üçün tətbiq etmək lazımdır. Aşağıdakı misallarda olduğu kimi.

s = input("Özünüzü təqdim edin: ") 
if s == "":
    print("Siz özünüzü təqdim etmədiniz!")
n = int(input("Birrəqəmli ədəd daxil edin: ")) 
if n == 0:
    print("Daxil etdiyiniz ədəd sıfırdır.")
if n > 9:
    print("Daxil etdiyiniz ədəd birrəqəmli deyil!")

İç-içə Budaqlanma

Yuxarıdakı proqramı diqqətlə nəzərdən keçirsəniz, görərsiniz ki, əslində elif operatoru else if operatorunun qısaldılmışıdır. Qısaltma olmadan biz yuxarıdakı misalı iç-içə budaqlanma (nested conditionals) ilə də yaza bilərdik:

a = int(input("Ədədi daxil edin:")) 
if a > 0:
    print("Müsbət") 
else:
    if a < 0: 
        print("Mənfi")
    else: 
        print("Sıfır")

Proqramın bu variantını da yazın və icra edib nəticələrini yoxlayın. Burada bir önəmli məqama da toxunmaq istəyirəm. Şərt operatorunun həm standart, həm də genişləndirilmiş variantlarında şərtlər bir-birindən asılı şəkildə yoxlanıldı. Yəni əgər ardıcıl yoxlanılan şərtlərdən biri ödənilirsə, ondan sonra gələn şərtlərin yoxlanılmasına ehtiyac qalmır.

Çoxlu Budaqlanma

Bizim yuxarıda yazdığımız hər iki proqramda iki hal (ədədin cüt və ya tək, cavabın isə doğru və ya yanlış olması) mövcud idi. Ona görə də biz hər iki proqramda yalnız bir şərtin yoxlanması ilə kifayətləndik. Amma proqramlaşdırmada bəzən mümkün halların sayı ikidən çox da ola bilir. Bu zaman daha çox şərtin yoxlanması tələb olunur. Buna çoxlu budaqlanma (chained conditionals) da deyilir.

Belə hallar üçün Python dilində şərt operatorunun genişləndirilmiş formatından istifadə olunur:

if şərt1: 
    ifadə1
elif şərt2: 
    ifadə2
elif şərt3: 
    ifadə3

   .....

else: 
    ifadəN

Şərt operatorunun bu yazılış formasından istifadə etməklə istədiyimiz qədər şərtləri yoxlayıb budaqlanma alqoritmini tərtib edə bilərik. İndi isə buna aid bir misal həll edək. Verilmiş ədədin müsbət, mənfi və ya sıfır olduğunu müəyyən edən proqram yazaq. Gördüyünüz kimi, burada üç hal mövcuddur ki, biz də bunu nəzərə alacağıq.

Gəlin bu proqramı da skriptdə yazaq:

a = int(input("Ədədi daxil edin: ")) 
if a > 0:
    print("Müsbət") 
elif a < 0:
    print("Mənfi") 
else:
    print("Sıfır")

Burada verilmiş ədədin əvvəlcə sıfırdan böyük olmasını yoxlayırıq: böyükdürsə, ekrana bu haqda məlumat çıxır; böyük deyilsə, o zaman ədədin sıfırdan kiçik olması halı yoxlanılır. Əgər şərt ödənilirsə, yəni ədəd sıfırdan kiçikdirsə, ekrana bu haqda məlumat çıxır, kiçik deyilsə, son variant kimi ədədin sıfır olması halı qeydə alınır və ekrana bu haqda məlumat çıxır.

Proqramı icra edin və hər dəfə müxtəlif ədədlər (sıfırdan böyük, sıfırdan kiçik və sıfır) daxil edərək nəticələri yoxlayın.