Döngü olayı ismiyle bire bir uyuyor. Loop belki daha açıklayıcı.
Kullanıcı bir aralık belirliyor, bu aralığı bir şart ile sabitliyor. Bilgisayar şart sağlanana kadar aralıktan çıkmıyor ve belirlenen aralığı tekrar tekrar baştan okuyor.
Basit bir örnekle anlatayım. Baban programcı sen de programsın diyelim. Babanın esas amacı 5 lira toplamak senden. Sen de evden çıkmak istiyorsun. Baban sana şart koşuyor evden çıkmak için 5 kere salona git. Her salona gittiğinde de 1 lira veriyorsun. Sen salona bir kere gidiyorsun, 1 lira atıyorsun ve kapıya geliyorsun. Döngü sana soruyor 5 kere salona gittin mi? Sen 1 kere gittin, hayır diyorsun, döngü başa sarıyor. Sen tekrar salona gidiyorsun, tekrar 1 lira atıyorsun. Şartın 5 kere salona gitmek, ama döngü içinde salona her gittiğinde 1 lira at olduğu için ve döngüden dolayı sen bunu 5 kere yaptığın için baban 5 lira toplamış oluyor. En son 5 kere gittin mi diye sorunca evet diyip çıkıyorsun.
Örneğin kodlaması ise şöyle:
para=0 (burası toplam paramızın olduğu yer)
a=range(5) (burada 5 tekrar veriyoruz)
for i in a:
para=para+1 (önceki paramıza 1 ekliyoruz)
print(para)
çıktı 5 şeklinde olacaktır.
Faktöriyel hesabı için düşünürsek, önce bize hangi sayının faktöriyeli isteniyor, onu almamız lazım:
x=input()
ilk başta bir değişken belitmemiz lazım ki o sayı üzerinde değişiklik yapabilelim.
fakt=1 (0 demememizin sebebi çarpma yapacağımız için sonuç 0 çıkmasın, çarpmada 1, toplamada 0 kullanılır genelde)
şimdi bu sayı adedince artarak çarpım yapılması lazım:
for i in range(x): (bu kod ile, döngü 1'den başlayıp x sayısına kadar içerisini tekrar edecek. Önce i=1 olacak, sonra i=2 .... en son i=x olacak)
fakt=fakt*i
for'dan sonraya bir de print atarız sonucu görmek için:
print(fakt)
şimdi nasıl işliyor onu görelim. input kısmında x 3 verildi diyelim. 3! ise 3*2*1 olacak:
x=3
fakt=1
for i in range(3):
fakt=1*1 (fakt 1 oldu)
--- i sonraki sayıya geçer, 1-->2 ---
--- for içinde başa döner---
fakt=1*2 (fakt 2 oldu)
--- i sonraki sayıya geçer, 2-->3 ----
--- for içinde başa döner---
fakt=2*3 (fakt 6 oldu)
--- i sonraki sayıya geçemez çünkü range 3 olarak ayarlandı ve en son 3 oldu zaten, 3--/->4 ----
--- for biter ---
print(6)
Bu kodu while ile yazsaydık da for i in range(3) yerine while i<=x derdik, bu da i 1'den x'e ulaşana kadar içeriyi tekrar edecek anlamında.
Döngünün olayı, verdiğin şart sağlanana kadar döngü içerisindeki komutları tekrar tekrar uygulamaktadır.
Kullanıcı bir aralık belirliyor, bu aralığı bir şart ile sabitliyor. Bilgisayar şart sağlanana kadar aralıktan çıkmıyor ve belirlenen aralığı tekrar tekrar baştan okuyor.
Basit bir örnekle anlatayım. Baban programcı sen de programsın diyelim. Babanın esas amacı 5 lira toplamak senden. Sen de evden çıkmak istiyorsun. Baban sana şart koşuyor evden çıkmak için 5 kere salona git. Her salona gittiğinde de 1 lira veriyorsun. Sen salona bir kere gidiyorsun, 1 lira atıyorsun ve kapıya geliyorsun. Döngü sana soruyor 5 kere salona gittin mi? Sen 1 kere gittin, hayır diyorsun, döngü başa sarıyor. Sen tekrar salona gidiyorsun, tekrar 1 lira atıyorsun. Şartın 5 kere salona gitmek, ama döngü içinde salona her gittiğinde 1 lira at olduğu için ve döngüden dolayı sen bunu 5 kere yaptığın için baban 5 lira toplamış oluyor. En son 5 kere gittin mi diye sorunca evet diyip çıkıyorsun.
Örneğin kodlaması ise şöyle:
para=0 (burası toplam paramızın olduğu yer)
a=range(5) (burada 5 tekrar veriyoruz)
for i in a:
para=para+1 (önceki paramıza 1 ekliyoruz)
print(para)
çıktı 5 şeklinde olacaktır.
Faktöriyel hesabı için düşünürsek, önce bize hangi sayının faktöriyeli isteniyor, onu almamız lazım:
x=input()
ilk başta bir değişken belitmemiz lazım ki o sayı üzerinde değişiklik yapabilelim.
fakt=1 (0 demememizin sebebi çarpma yapacağımız için sonuç 0 çıkmasın, çarpmada 1, toplamada 0 kullanılır genelde)
şimdi bu sayı adedince artarak çarpım yapılması lazım:
for i in range(x): (bu kod ile, döngü 1'den başlayıp x sayısına kadar içerisini tekrar edecek. Önce i=1 olacak, sonra i=2 .... en son i=x olacak)
fakt=fakt*i
for'dan sonraya bir de print atarız sonucu görmek için:
print(fakt)
şimdi nasıl işliyor onu görelim. input kısmında x 3 verildi diyelim. 3! ise 3*2*1 olacak:
x=3
fakt=1
for i in range(3):
fakt=1*1 (fakt 1 oldu)
--- i sonraki sayıya geçer, 1-->2 ---
--- for içinde başa döner---
fakt=1*2 (fakt 2 oldu)
--- i sonraki sayıya geçer, 2-->3 ----
--- for içinde başa döner---
fakt=2*3 (fakt 6 oldu)
--- i sonraki sayıya geçemez çünkü range 3 olarak ayarlandı ve en son 3 oldu zaten, 3--/->4 ----
--- for biter ---
print(6)
Bu kodu while ile yazsaydık da for i in range(3) yerine while i<=x derdik, bu da i 1'den x'e ulaşana kadar içeriyi tekrar edecek anlamında.
Döngünün olayı, verdiğin şart sağlanana kadar döngü içerisindeki komutları tekrar tekrar uygulamaktadır.