Python'da for döngüsü

0 Hisse senetleri
0
0
0
0

giriiş

Python'daki `for` döngüsü özyinelemeli bir fonksiyondur. Liste gibi bir dizi nesneniz varsa, listedeki öğeler üzerinde yineleme yapmak için `for` döngüsünü kullanabilirsiniz. `for` döngüsünün işlevselliği, diğer birçok programlama dilinde gördüğünüzden çok farklı değildir. Bu makalede, Python `for` döngüsünü ayrıntılı olarak inceleyeceğiz ve listeler, demetler ve daha fazlasını içeren çeşitli diziler üzerinde yineleme yapmayı öğreneceğiz. Ayrıca, `break` ve `continue` ifadelerini kullanarak döngünün akışını kontrol etmeyi öğreneceğiz.

for döngüsü ne zaman kullanılır?

Bir kod bloğunu birden fazla kez tekrarlamanız gerektiğinde, kaç kez tekrarlanması gerektiğini bilmiyorsanız "while döngüsü" ifadesini kullanın.

for döngüsünün sözdizimi

Python'da for döngüsünün temel sözdizimi aşağıdaki gibi görünür.

for itarator_variable in sequence_name:
Statements
. . .
Statements

Python'da for döngüsü sözdiziminin ayrıntılı açıklaması

  • Cümlenin ilk kelimesi "for" anahtar kelimesiyle başlıyor, bu da for döngüsünün başlangıcı anlamına geliyor.
  • Ardından, diziyi yineleyen ve döngü içinde çeşitli işlevleri yerine getirmek için kullanılabilen yineleyici değişkenimiz var.
  • Bir sonraki şey, Python'daki "in" anahtar kelimesidir; bu, yineleyici değişkene dizinin içindeki öğeler üzerinde döngü yapmasını söyler.
  • Son olarak, liste, demet veya başka herhangi bir yineleyici türü olabilen sıra değişkenine sahibiz.
  • Döngü ifadeleri bölümü, yineleyici değişkeniyle oynayabileceğiniz ve çeşitli işlevleri gerçekleştirebileceğiniz yerdir.

Bir for döngüsü kullanarak bir dizenin tek tek harflerini yazdırın.

Python'da bir dize, karakter dizisidir. Programlamalarınızda bir dizenin karakterlerini tek tek yinelemeniz gerekiyorsa, burada bir for döngüsü kullanabilirsiniz.

İşte bunu nasıl yapabileceğiniz.

word="anaconda"
for letter in word:
print (letter)
a
n
a
c
o
n
d
a

Bu döngünün çalışmasının nedeni, Python'ın bir "dizeyi" bir bütün olarak değil, karakter dizisi olarak ele almasıdır.

Python'da liste veya demet üzerinde yineleme yapmak için `for` döngüsünü kullanma

Listeler ve demetler yinelenebilir nesnelerdir. Bu nesnelerin içindeki öğeler üzerinde nasıl döngü oluşturabileceğimizi görelim.

words= ["Apple", "Banana", "Car", "Dolphin" ]
for word in words:
print (word)

Çıktı:

Apple
Banana
Car
Dolphin

Şimdi, bir demetin (tuple) elemanları üzerinde çalışmaya başlayalım.

nums = (1, 2, 3, 4)
sum_nums = 0
for num in nums:
sum_nums = sum_nums + num
print(f'Sum of numbers is {sum_nums}')
# Output
# Sum of numbers is 10

Python'da iç içe for döngüleri

Bir for döngüsünün içinde başka bir for döngüsü olduğunda buna iç içe for döngüsü denir. İç içe for döngüsünün birçok kullanım alanı vardır. Yukarıdaki örnek listeyi ele alalım. For döngüsü listedeki tek tek kelimeleri yazdırır. Peki ya listedeki her kelimenin tek tek karakterlerini yazdırmak isteseydik?

İşte iç içe for döngülerinin en iyi sonucu verdiği yer burası. Birinci döngü (ana döngü) kelimeleri tek tek işleyecektir. İkinci döngü (alt döngü) ise her kelimedeki karakterleri işleyecektir.

words= ["Apple", "Banana", "Car", "Dolphin" ]
for word in words:
#This loop is fetching word from the list
print ("The following lines will print each letters of "+word)
for letter in word:
#This loop is fetching letter for the word
print (letter)
print("") #This print is used to print a blank line

Çıktı:


İç içe döngüler, yapısal olarak iç içe if ifadelerine benzer.

range() fonksiyonu ile for döngüsü

Python'da `range()` fonksiyonu yerleşik fonksiyonlardan biridir. `range` fonksiyonu, bir `for` döngüsünün belirli sayıda çalışmasını istediğinizde veya yazdırılacak nesnelerin bir aralığını belirtmeniz gerektiğinde gerçekten işe yarar.

`range()` fonksiyonu ile çalışırken, 1 ile 3 arasında tamsayı argümanı geçirebilirsiniz:

  • başlangıç Dizinin başlayacağı tamsayı değerini belirtir; bu değer belirtilmezse, dizi 0'dan başlar.
  • Durmak Her zaman gereklidir ve dahil olmamak kaydıyla kadar sayan bir tam sayıdır.
  • adım Bir sonraki yinelemede artış miktarını (veya negatif sayılar durumunda azalış miktarını) belirler; bu belirtilmezse varsayılan adım 1'dir.

Aşağıdaki örnekte 1, 2 ve 3 rakamlarını yazdırmak istiyorum:

for x in range(3):
print("Printing:", x)
# Output
# Printing: 0
# Printing: 1
# Printing: 2

Aralık fonksiyonu, başlangıç ve bitiş noktalarına ek olarak başka bir parametre daha alır. Bu parametre adımdır. Bu parametre, aralık fonksiyonuna her sayım arasında kaç sayı atlanacağını söyler.

Aşağıdaki örnekte, adım olarak 3 sayısını kullandım ve çıktı sayılarının önceki sayıya +3 eklenmiş hali olduğunu görebilirsiniz.

for n in range(1, 10, 3):
print("Printing with step:", n)
# Output
# Printing with step: 1
# Printing with step: 4
# Printing with step: 7

Geriye doğru yineleme yapmak için adım argümanı için negatif bir değer de kullanabiliriz, ancak başlangıç ve bitiş argümanlarını buna göre ayarlamamız gerekir:

for i in range(100,0,-10):
print(i)

Burada 100 başlangıç değeri, 0 bitiş değeri ve -10 aralıktır; yani döngü 100'den başlar ve 0'da biter, her yinelemede 10 azalır. Bu, çıktıda şu şekilde görünür:

Output
100
90
80
70
60
50
40
30
20
10

Python'da programlama yaparken, for döngüleri genellikle yineleme için parametre olarak range() dizi türünü kullanır.

for döngüsü ile break ifadesi

`break` ifadesi, `for` döngüsünden beklenenden önce çıkmak için kullanılır. Belirli bir koşul sağlandığında `for` döngüsünü sonlandırmak için kullanılır. Diyelim ki bir sayı listemiz var ve bir sayının var olup olmadığını kontrol etmek istiyoruz. Sayı listesi üzerinde döngü yapabiliriz ve eğer sayı bulunursa, kalan elemanlar üzerinde döngü yapmaya gerek kalmadığı için döngüden çıkabiliriz.

Bu durumda, for döngümüzle birlikte Python'ın if-else koşulunu kullanacağız.

nums = [1, 2, 3, 4, 5, 6]
n = 2
found = False
for num in nums:
if n == num:
found = True
break
print(f'List contains {n}: {found}')
# Output
# List contains 2: True

for döngüsü ile devam etme ifadesi

Bir for döngüsünde `continue` ifadelerini kullanarak, belirli bir koşul için for döngüsünün gövdesinin yürütülmesini atlayabiliriz. Diyelim ki bir sayı listemiz var ve pozitif sayıların toplamını yazdırmak istiyoruz. Negatif sayılar için for döngüsünü atlamak için `continue` ifadelerini kullanabiliriz.

nums = [1, 2, -3, 4, -5, 6]
sum_positives = 0
for num in nums:
if num < 0:
continue
sum_positives += num
print(f'Sum of Positive Numbers: {sum_positives}')

Python'da else bloğu içeren for döngüsü

Python'da `for` döngüsüyle `else` bloğunu kullanabiliriz. `else` bloğu, yalnızca `for` döngüsü `break` ifadesiyle sonlandırılmadığı takdirde çalıştırılır. Diyelim ki, tüm sayılar çift ise sayıların toplamını yazdıran bir fonksiyonumuz var. Tek sayı varsa, `break` ifadesini kullanarak `for` döngüsünü sonlandırabiliriz. Toplamı `else` bloğunda yazdırabiliriz, böylece `for` döngüsü normal şekilde çalıştığında da yazdırılır.

def print_sum_even_nums(even_nums):
total = 0
for x in even_nums:
if x % 2 != 0:
break
total += x
else:
print("For loop executed normally")
print(f'Sum of numbers {total}')
# this will print the sum
print_sum_even_nums([2, 4, 6, 8])
# this won't print the sum because of an odd number in the sequence
print_sum_even_nums([2, 4, 5, 8])
# Output
# For loop executed normally
# Sum of numbers 20

Ardışık veri tiplerini kullanan for döngüleri

Listeler ve diğer veri dizisi türleri de for döngülerinde yineleme parametresi olarak kullanılabilir. range() üzerinden yineleme yapmak yerine, bir liste tanımlayabilir ve bu liste üzerinde yineleme yapabilirsiniz. Bir listeyi bir değişkene atarız ve ardından liste üzerinde yineleme yaparız:

sharks = ['hammerhead', 'great white', 'dogfish', 'frilled', 'bullhead', 'requiem']
for shark in sharks:
print(shark)

Bu durumda, listedeki her öğeyi yazdırıyoruz. Shark değişkenini kullanmış olsak da, değişkeni başka geçerli bir isimle de çağırabilir ve aynı çıktıyı alabilirdik:

Output
hammerhead
great white
dogfish
frilled
bullhead
requiem

Yukarıdaki çıktı, for döngüsünün liste üzerinde yineleyerek listedeki her öğeyi her satıra yazdırdığını gösteriyor. Listeler ve dizeler ve demetler gibi diğer sıralı veri türleri, yinelenebilir oldukları için for döngülerinde yaygın olarak kullanılır. Bu veri türlerini range() ile birleştirerek bir listeye öğe ekleyebilirsiniz, örneğin:

sharks = ['hammerhead', 'great white', 'dogfish', 'frilled', 'bullhead', 'requiem']
for item in range(len(sharks)):
sharks.append('shark')
print(sharks)
Output
['hammerhead', 'great white', 'dogfish', 'frilled', 'bullhead', 'requiem', 'shark', 'shark', 'shark', 'shark', 'shark', 'shark']

Burada, köpekbalıkları listesindeki her öğe için "köpekbalığı" şeklinde bir yer tutucu dize ekledik. Ayrıca, sıfırdan bir liste oluşturmak için bir for döngüsü de kullanabilirsiniz:

integers = []
for i in range(10):
integers.append(i)
print(integers)

Bu örnekte, tamsayılar boş bir liste olarak başlatılır, ancak for döngüsü listeyi şu şekilde doldurur:

Output
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Benzer şekilde, dizeler arasında da yineleme yapabiliriz:

sammy = 'Sammy'
for letter in sammy:
print(letter)
Output
S
a
m
m
y

Demetler üzerinde yineleme, yukarıda açıklanan listeler veya dizeler üzerinde yineleme ile aynı biçimde yapılır. Bir sözlük üzerinde yineleme yaparken, sözlüğün doğru öğesini çağırdığınızdan emin olmak için anahtar:değer yapısını aklınızda tutmak önemlidir. İşte hem anahtarı hem de değeri çağıran bir örnek:

sammy_shark = {'name': 'Sammy', 'animal': 'shark', 'color': 'blue', 'location': 'ocean'}
for key in sammy_shark:
print(key + ': ' + sammy_shark[key])
Output
name: Sammy
animal: shark
location: ocean
color: blue

For döngüleriyle sözlük kullanırken, yineleme değişkeni sözlük anahtarlarına, dictionary_variable[iterating_variable] ise değerlere karşılık gelir. Yukarıdaki örnekte, key yineleme değişkeni olarak kullanılmış, sammy_shark[key] ise değerleri temsil etmiştir. Döngüler genellikle sıralı veri tiplerini yinelemek ve işlemek için kullanılır.

Sonuç

Python'daki for döngüsü, diğer programlama dillerindekine çok benzer. Döngünün çalışmasını değiştirmek için `break` ve `continue` ifadelerini kullanabiliriz. Ancak Python'da isteğe bağlı olarak başka bir döngüyü de engelleyebiliriz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Ayrıca Şunları da Beğenebilirsiniz