• Web sitemizin içeriğine ve tüm hizmetlerimize erişim sağlamak için Web sitemize kayıt olmalı ya da giriş yapmalısınız. Web sitemize üye olmak tamamen ücretsizdir.
  • Sohbetokey.com ile canlı okey oynamaya ne dersin? Hem sohbet et, hem mobil okey oyna!
  • Soru mu? Sorun mu? ''Bir Sorum Var?'' sistemimiz aktiftir. Paylaşın beraber çözüm üretelim.

Python DÖNGÜLER

LeGoLaS

Onursal Üye
Üyelik Tarihi
1 Ağu 2008
Konular
4,885
Mesajlar
16,461
MFC Puanı
15,790
DÖNGÜLER



Döngüler kolaylığı ve sürekliliği sağlamak için vardırlar.
while döngüsü, yazdığımız bir program tamamlanana kadar programın kapanmasına engel olur ve kod dizisinin döngünün başındaki koşul sağlanana kadar dönmesini sağlar.
Örnek verecek olursak:
[COLOR=white !important]?
1
2
3
4
Sayi=1
while Sayi<10:
Sayi=Sayi+1
print Sayi


Bu küçük kod parçacığı 1 den 9 a kadar olan sayıları ekrana yazdırır.


For Döngüsü:
Kullanımına en alışık olduğumuz döngülerden biridir for döngüsü. Başka programda kod yazan kişiler bilirler ki for döngüsünün görevi bir dizi içindeki ögeleri denetlemektir.
Örnek verecek olursak:


[COLOR=white !important]?[/COLOR]​
1
2
for harf in “Damla-Umut”:
print harf




Bu programda öncelikle bir karakter dizisine (bizim programımızda Damla-Umut) harf adını bütün öğelerine ad olarak atadık. Daha sonra bildiğiniz üzre print komutuyla bu harfleri ekrana tek tek yazdırdık.


Peki while döngüsünde yazdığımız kodu for döngüsüne nasıl çeviririz? Bunu yapabilmemiz için for döngüsünün yanında range() fonksiyonunu da kullanmamız gerekir.


for Sayi in range(1, 10):
print Sayi



range() Fonksiyonu:


Bu fonksiyon sayesinde sayı aralıkları belirtebiliriz.


print range(1,10)


bu kod parçacığı bir önceki for döngüsünde yazdığımız kod parçacığıyla aynı işlevi görür. Yani 1 den 10 a kadar aralıkta olan sayıları ekrana yazdırır. Bu kod parçacığının bir kolaylığı vardır buda ‘0’ için geçerlidir. Bir programda ‘0’ dan istediğimiz bir sayıya kadar bütün sayıları ekrana yazdırmak istiyorsak sadece: print range(10) yazmamız yeterlidir. Bu kod parçacığı 0 ile 10 arasındaki bütün sayıların ekrana yazılmasını sağlayacaktır.Peki biz ekrana sayıları 1’er 1’er değilde 5’er 5’er arttırarak yazmak istesek bunu range() fonksiyonuyla nasıl yazarız. print range(25, 125, 5)




len() fonksiyonu:
Bu bir gömülü fonksiyon(Built-in Function)’dur. Karakter dizilerinin uzunluğunu anlamamızı sağlar.


Karakter=”Damla-Umut”
print len(Karakter)


Bu kod parçacığı yazdığımız karakterin harf sayısını ekrana yazacaktır. Yani ekran çıktımız 11 olacaktır.


break deyimi:
Bildiğiniz üzere break deyimi programı sonlandırmaya yarar.


[COLOR=white !important]?[/COLOR]​
1
2
3
4
5
6
7
8
9
10
11
kullanici_adi = "kullanici"
parola = "parola"
while True:
soru1 = raw_input("Kullanıcıadı: ")
soru2 = raw_input("Parola: ")
if soru1 == kullanici_adi and soru2 == parola:
print "Kullanıcıadı ve parolanız onaylandı."
break
else:
print "Kullanıcı adınız ve ya parolanız yanlış."
print "Lütfen tekrar deneyiniz!"




Bu kod parçacığında while döngüsüne de örnek vermiş olduk. Kodumuzdaki ilk if parçacığının eğer şartı onaylanırsa ekran çıktısı yazıldıktan sonra break ile programdan çıkış yapılır. Ve if parçacığının içindeki koşul sağlanana kadar while döngüsü sayesinde program başa dönmeye devam eder.


continue:
Bu döngüde kendinden sonra gelen kod satırlarının görülmeden programa baştan başlanmasını sağlar.

[COLOR=white !important]?[/COLOR]​
1
2
3
4
5
for num in range(2, 10):
if num % 2 == 0:
print "Çift sayı:", num
continue
print "Tek sayı:", num




Bu kod parçacığında range() fonksiyonundan hatırladığımız üzere 2 den 10 a kadar olan sayıların teker teker tek ve çift olan sayılarını bulur. Ve çıktı olarak ekrana “Çift sayı:2” yazdıktan sonra continue komutu sayesinde “Tek sayı:” yazmadan programın başına gider.
[/COLOR]
 
Üst