9.1 Şərtli dövr
Dövr for
ideal seçimdir əgər tam olaraq neçə dəfə kodumuzdakı əmrlər blokunu icra edəcəyimizi bilirik. Ancaq belə hallar həmişə olmur. Təxminən yarı hallarda əmrlər blokunu müəyyən bir şərt (qayda) doğru olduğu müddətdə icra etmək lazımdır.
Python dilində məhz bunun üçün dövr while
mövcuddur. Onun ümumi yazılışı for dövrünə nisbətən daha sadədir:
while şərait:
əmr1
əmr2
əmrN
Dövr, şərt doğru olduğu müddətdə icra ediləcək.
Vacibdir! Dövrün sonsuz icra edilməməsi üçün əmrlər blokunda şərti təsir edən bir şey olmalıdır. Belə ki, şərt bir vaxt səhv ola bilər və dövr sona çata bilər.
Nümunə:
Nümunə | İzah |
---|---|
|
Dövr 0 1 2 3 4 ədədlərini ekrana çıxaracaq |
while dövründə
iki şey sonsuz şəkildə icra olunur:
- Şərt yoxlanılır.
- Əmrlər bloku icra olunur.
Əgər şərt doğru olarsa, əmrlər bloku icra olunur. Əgər şərait səhvdirsə (hətta əmrlər bloku bir dəfə belə icra edilmirsə), dövr bitir.
Başqa bir while dövrü, istifadəçidən məlum olmayan miqdarda məlumat daxil edilməsi ilə birləşdirilmiş nümunə:
Nümunə | İzah |
---|---|
|
Dövr istifadəçinin "exit" yazana qədər daxil etdiyi bütün məlumatları ekrana çıxaracaq. Sonra bu məlumatı çap edəcək və dövr bitəcək. |
9.2 break operatoru
Python-da operator break
dərhal while dövrü və ya for dövrünün icrasını dayandırmaq üçün istifadə olunur. Bu operator dövrün vəziyyətə görə normal sonlanmasından əvvəl ondan çıxmaq lazım olduqda çox faydalıdır.
break
-in tətbiqi proqramın icra axınını idarə etməkdə elastikliyi artırır, icra zamanı dəyişən şərtlərə reaksiya verməyə imkan yaradır.
Əsas tətbiq:
for num in range(10):
if num == 5:
break # num 5-ə çatanda dövrü dayandırır
print(num)
Bu nümunədə dövr 0-dan 4-ə qədər olan ədədləri çap edəcək. num 5-ə çatanda break
operatoru dövrü dayandırır.
Sonsuz dövrlərdə tətbiq:
while True:
response = input("Çıxmaq üçün 'exit' yazın: ")
if response == 'exit':
break
Burada break
istifadəçidən daxil edilən 'exit' sözündən sonra sonsuz dövrdən çıxmaq üçün istifadə olunur.
break
operatoru həmçinin tez-tez iç-içə olan dövrlərin icrasını dayandırmaq üçün, fövqəladə vəziyyətlərin emalı zamanı dərhal hərəkətləri dayandırmaq üçün və ya çoxvijirli və ya şəbəkə tətbiqlərində prosesləri dayandırmaq üçün istifadə olunur.
Məsələn, axtarış və ya çeşidləmə məsələlərində, lazım olan elementi tapdıqdan sonra dövrün daha da davam etməsinin mənası olmadıqda:
elements = [1, 2, 3, -99, 5]
# İlk mənfi elementi axtarmaq
for element in elements:
if element < 0:
print("Mənfi element tapıldı: ", element)
break
Ən yaxşı təcrübələr break
-dən ağıllı istifadə etməyi, proqramın məntiqini çətinləşdirmədən və onun başa düşülməsini çətin etmədən istifadəsini ehtiva edir. Dövrün dayandırılmasının səbəblərini şərh etmək yaxşı təcrübədir, xüsusən də bu səbəblər kontekstdən aydın görünmürsə.
break
-in istifadəsi əsaslı və məqsədəuyğun olmalıdır. Məsələn, kodun oxunaqlığını və səmərəliliyini artırmaq üçün, sadəcə məntiqi "qırmaq" xatirinə deyil. Bu operatorun effektiv istifadəsi proqramların performansını, xüsusən də sıx hesablama olunan alqoritmlərdə xeyli yaxşılaşdıra bilər.
9.3 continue operatoru
continue operatoru Python-da dövrlərin icra axışını idarə etmək üçün güclü bir vasitədir. O, dövrün cari iterasiyasında kodun qalan hissəsini keçir
və növbəti iterasiyaya keçir. Bu operator, çox zaman for
və while
dövrlərində müəyyən şərtləri keçərək dövrü dayandırmadan istifadə olunur.
continue operatorunun istifadəsinin əsasları
Baxın, continue sadə dövrdə necə işləyir:
for i in range(10):
if i % 2 == 0:
continue
print(i)
Bu nümunədə dövr yalnız 1-dən 9-a qədər tək ədədləri çıxardır. Hər dəfə, i
cüt ədəd olduqda (2-yə qalıqsız bölünəndə) operator continue
işə düşür, print()
funksiyasının çağırılmasını keçirir və növbəti iterasiyaya keçir.
continue istifadəsinin real senarilərdə tətbiqi
Məlumatların filtr edilməsi: continue
daha mürəkkəb dövr əməliyyatlarından əvvəl məlumatların əvvəlcədən filtr edilməsi üçün istifadə edilə bilər.
data = ["apple", "banana", "", "cherry", "date"]
for fruit in data:
if not fruit:
continue # Boş sətirləri keçmək
print(fruit.capitalize())
GO TO FULL VERSION