CodeGym /Kurslar /Python SELF AZ /while döngüsü

while döngüsü

Python SELF AZ
Səviyyə , Dərs
Mövcuddur

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

count = 0
while count < 5:
    print(count)
    count += 1
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

user_input = ""
while user_input != "exit":
    user_input = input("Çıxmaq üçün 'exit' daxil edin: ")
    print(user_input)
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 forwhile 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())               
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION