Dövr for

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

8.1 For dövrü

Şərtə uyğun olaraq bir neçə əmri icra etmək əlaydı. Amma əgər mən hansısa əməliyyatı 100 dəfə icra etmək istəyirəmsə? Bunu necə edim?

Bunun üçün Python dilində dövrlər mövcuddur. Və bizim məsələmiz üçün mükəmməl seçim dövr for-dur. for operatorunun ümumi yazılışı belədir:

for dəyişən in dəyərlərin_siyahısı:
    əmr1
    əmr2
    əmrN

Burada dəyərlərin_siyahısı — müəyyən dəyərlər yığınıdır: siyahı, sətir, ya da dictionary (onlardan daha sonra danışacağıq).

Dəyişən ardıcıllıqla dəyərlərin_siyahısı-dan dəyər alır və hər biri üçün əmr blokunu icra edir.

Nümunə:

Nümunə İzah

fruits = ["alma", "banan", "albalı"]
for fruit in fruits:
    print(fruit)
1. fruit dəyişəninə "alma" dəyəri təyin olunur və print(fruit ) əmri icra olunur. 2. fruit dəyişəninə "banan" dəyəri təyin olunur və print(fruit ) əmri icra olunur. 3. fruit dəyişəninə "albalı" dəyəri təyin olunur və print(fruit ) əmri icra olunur.

Belə işləyir for dövrü:

Əgər in sözündən sonra olan siyahıda 10 dəyər varsa, blok komandası 10 dəfə icra olunur.

dəyərlərin_siyahısı-nın hər bir elementi üçün iki şey baş verir:

  1. Dövr dəyişəninə (söz for-dan sonra göstərilən dəyişkən) siyahıdan növbəti dəyər təyin olunur.
  2. Daha sonra əmrlər bloku icra olunur.

Başqa bir misal:

Nümunə İzah

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for x in numbers:
    print(x)
Dövr ekrana bu ədədləri çıxaracaq:
1
2
3
4
5
6
7
8
9
10

8.2 Aralığın təyin edilməsi — range

Son nümunədə görə bildiniz ki, ekranda 10 ədəd göstərmək çox sadədir. Amma 100 dəfə döngü yerinə yetirmək istəyirik? Bəs 1000 dəfə?

Təbii ki, bunun üçün həll yolu var. Python dilində xüsusi bir funksiya range() var ki, bu, ədədlər ardıcıllığını generasiya etməyə imkan verir və döngü for ilə birləşdirildikdə təkrarlanan tapşırıqların idarə edilməsi üçün güclü bir alətə çevrilir.

Funksiya range() müxtəlif yollarla istifadə oluna bilər, bu da onun aldığı arqumentlərin sayından asılıdır.

range()-in əsas tətbiqlər:

Bir arqument: range(n) ardıcıllıq 0-dan n-1-ə qədər genrasiya edir. Bu, bir əməliyyatı müəyyən sayda dəfə yerinə yetirmək lazım olduqda faydalıdır.


for i in range(5):
    print(i)  # 0-dan 4-ə qədər ədədləri göstərəcək

İki arqument: range(start, stop) ardıcıllıq start-dan stop-1-ə qədər ədədləri generasiya edir. Bu, iterasiyanı müəyyən bir ədəddən başlamaq üçün faydalıdır.


for i in range(1, 6):
    print(i)  # 1-dən 5-ə qədər ədədləri göstərəcək 

Üç arqument: range(start, stop, step) üçüncü step arqumenti əlavə edir, bu isə ardıcıllıq arasındakı addımı müəyyən edir.


for i in range(0, 10, 2):
    print(i)  # 0-dan 8-ə qədər cüt ədədləri göstərəcək  

Geri sayan döngülər: range() ədədləri tərs ardıcıllıqda generasiya edə bilər, bu isə tərs iterasiyalar aparmaq imkanı verir.


for i in range(10, 0, -1):
    print(i)  # 10-dan 1-ə qədər ədədləri göstərəcək 

range() funksiyası və for döngüsü ilə birlikdə Python-da iterasiyalar üzərində nəzarət etmək üçün çevik bir alətdir. Onun imkanlarını anlamaq daha effektiv və aydın döngülərin yaradılmasına kömək edir ki, bunlar da hər bir proqramın ayrılmaz hissəsidir.

8.3 Siyahı üzrə dövr

Əgər fərqli dəyərlər üzərində bir neçə əməliyyat yerinə yetirmək istəyirsənsə, range() funksiyası uyğun gəlməyə bilər. Bu dəyərləri kvadrat mötərizə ilə bir siyahıya toplamaq olar. Bu əməliyyatın ümumi görünüşü belədir:


for dəyişən in [val1, val2, …, valN]:
    əmr1
    əmr1
    əmrN

Sadəcə dəyərləri vergüllə ayırıb siyahıya daxil edirsən, və dövr hər bir dəyərə görə bir dəfə işləyir, dəyişən isə ardıcıl olaraq hər bir dəyəri qəbul edir. Məsələn:

Nümunə İzah

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)
                    
Dövr ekran üzrə bu sətirləri yazacaq:
apple
banana
cherry

Siyahıda ədədləri göstərmək mümkündür, hətta dövr daxilində, sözün in arxasında qeyd edilə bilər:

Nümunə İzah

for price in [0.99, 2.75, 0.25]:
    print(price)
Dövr ekran üzrə bu ədədləri yazacaq:
0.99
2.75
0.25

Siyahıda ümumiyyətlə istənilən tipdən obyektləri sadalamaq olar:

Nümunə İzah

for data in [0.99, "apple", -1, True]:
    print(data)
                
Dövr ekran üzrə bu sətirləri yazacaq:
0.99
apple
-1
True
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION