6.1 if else
Python-da, bir çox proqramlaşdırma dillərində olduğu kimi, əmrləri təkcə ardıcıl deyil, həm də müəyyən bir şərtə görə seçərək icra etmək olar. Belə bir konstruksiya şərt operatoru adlanır. Şərt operatorunun ümumi görünüşü aşağıdakı kimidir:
if şərt:
əmr1
else:
əmr2
Əgər şərt doğru (True
) olarsa, əmr1 icra olunacaq, əks halda (False
) isə əmr2 icra olunacaq. Əmrlər heç vaxt eyni vaxtda icra olunmur: ya biri, ya da digəri.
Vacibdir! Alt əmrlər və ya əmrlər mütləq şəkildə (!) 4 boşluq dərəcəsi ilə if
və else
əmrlərinə nəzərən hizalanmalıdı. Daha ətraflı bu barədə növbəti mühazirədə, "Komandalar bloku"nda danışacağam..
Nümunələr:
|
Şərt y > 5 yanlışdır, ona görə else budağı icra olunacaq və proqram "y 5-dən böyük deyil" mətnini çap edəcək. |
Başqa bir nümunə:
|
Əgər istifadəçi 18 və ya daha böyük rəqəm daxil edərsə, proqram «siz yetkin yaşdasınız» mətnini çap edəcək, əks halda «get dərslərini et» mətnini çap edəcək. |
6.2 if else olmadan
Şərt operatorunun daha 2 forması var – qısa və uzadılmış.
Qısa formada else
hissəsi yoxdur.
if şərt:
əmr
Əgər şərt doğru olarsa, əmrlər icra olunacaq. Əgər bu doğru deyilsə, heç bir şey icra olunmayacaq – proqram davam edəcək və qalan əmrləri yerinə yetirəcək, əgər onlar varsa.
Nümunə:
|
Əgər istifadəçi 21 və ya daha böyük rəqəm daxil edərsə, proqram «budur sizin pivəniz» çap edəcək. Əgər rəqəm 21-dən az olsa – proqram heç nə çap etməyəcək. |
6.3 if elif else
if
else
operatorunun uzadılmış forması bir neçə if
else
operatorunu bir yerə yığmağa imkan yaradır.
Təsəvvür edin ki, koordinat təyyarəsində x
və y
koordinatlarına malik nöqtənin hansı kvadrata aid olduğunu təyin etmək istəyirsiniz. Bunu if
və else
operatoru ilə belə etmək olar:
|
Əgər x > 0 və y > 0-dırsa, "birinci kvadrat" çıxışa veriləcək. Əgər x < 0 və y > 0-dırsa, "ikinci kvadrat" çıxışa veriləcək. Əgər x < 0 və y < 0-dırsa, "üçüncü kvadrat" çıxışa veriləcək. Əgər x > 0 və y < 0-dırsa, "dördüncü kvadrat" çıxışa veriləcək. |
İndentasiya olmadan keçinmək olmaz və kodun oxunaqlı olması arzu edilir. Ona görə də xüsusi bir elif
operatoru icad edildi ki, belə uzun if zəncirlərini daha oxunaqlı bir şeyə çevirsin. Belə görünür:
if şərt1:
əmr1
elif şərt2:
əmr2
elif şərtN:
əmrN
else:
əmrElse
elif
açar sözü else
if
ifadəsinin qısaltmasıdır. Yuxarıdakı misaldakı kodu indi bu şəkildə yazmaq olar:
|
Əgər x > 0 və y > 0-dırsa, "birinci kvadrat" çıxışa veriləcək. Əgər x < 0 və y > 0-dırsa, "ikinci kvadrat" çıxışa veriləcək. Əgər x < 0 və y < 0-dırsa, "üçüncü kvadrat" çıxışa veriləcək. Əgər x > 0 və y < 0-dırsa, "dördüncü kvadrat" çıxışa veriləcək. |
GO TO FULL VERSION