Python programlama dilinde while döngüsü, sayı tabanlı algoritmalar geliştirmek için güçlü bir araçtır. Bu basit yapı sayesinde 1’den 10’a kadar olan sayıları yazdırmaktan, bir sayının bölenlerini bulmaya kadar birçok problemi çözmek mümkün. Peki, while döngüsüyle nasıl sayı programları yazılır ve bu yapıyı algoritma geliştirmede nasıl kullanabilirsiniz? Adım adım inceleyelim.
Temel Sayı Döngüleri Oluşturma
Python’un while döngüsü, belirli bir koşul sağlandığı sürece kod bloklarını tekrar tekrar çalıştırır. Bu özellik, sayı dizileri oluşturmak için mükemmel bir yöntemdir. Aşağıda, en temel uygulamalardan bazıları yer alıyor:
- 1’den 5’e kadar olan sayıları yazdırma
Başlangıç değerini tanımlayarak ve bu değeri adım adım artırarak basit bir sayı dizisi oluşturaiblirsiniz. Örneğin:
sayac = 1
while sayac <= 5:
print(sayac, end=" ")
sayac += 1Bu kod, konsol ekranına 1 2 3 4 5 çıktısını üretir.
- 1’den 10’a kadar olan tek sayıları yazdırma
Tek sayıları tespit etmek için mod alma operatörü % kullanılır. Bir sayının 2’ye bölümünden kalan 1 ise, bu sayı tektir:
sayac = 1
while sayac <= 10:
if sayac % 2 != 0:
print(sayac)
sayac += 1Bu uygulama, konsola 1 3 5 7 9 şeklinde çıktı verir.
Sayıların Katlarını ve Ters Sıralamayı Keşfetme
While döngüsü, sayıların katlarını bulmak veya ters sıralı çıktı üretmek için de kullanılabilir. Örneğin, 3’ün katlarını 3’ten 15’e kadar yazdırmak için:
sayac = 3
while sayac <= 15:
if sayac % 3 == 0:
print(sayac)
sayac += 1Aynı mantıkla, 15’ten 1’e doğru geriye doğru ilerlerken 3’ün katlarını bulmak da mümkün:
sayac = 15
while sayac >= 1:
if sayac % 3 == 0:
print(sayac)
sayac -= 1Benzer şekilde, 10’dan 2’ye kadar geriye doğru çift sayıları ya da tek sayıları da listelemek mümkündür:
sayac = 10
while sayac >= 1:
if sayac % 2 == 0:
print(sayac)
sayac -= 1Bölünebilirlik Kurallarını Uygulama
Bazı sayılar hem 3’e hem de 5’e bölünebilir. Bu gibi durumlarda, while döngüsüyle birlikte mantıksal operatörler (and ve or) kullanılarak çoklu koşullar kontrol edilebilir. Örneğin, 1’den 50’ye kadar olan sayılar arasında hem 3’e hem de 5’e bölünebilenleri bulmak için:
sayac = 1
while sayac <= 50:
if sayac % 3 == 0 and sayac % 5 == 0:
print("Hem 3 hem de 5'e bölünebilir:", sayac)
elif sayac % 3 == 0:
print("Sadece 3'e bölünebilir:", sayac)
elif sayac % 5 == 0:
print("Sadece 5'e bölünebilir:", sayac)
sayac += 1Bu kod, 15, 30 ve 45 gibi sayılara özel çıktı üretir.
Sayıların Bölenlerini ve Özel Türlerini Bulma
Bir sayının tüm bölenlerini bulmak, algoritma geliştirmede sıkça karşılaşılan bir problemdir. Örneğin, 12 sayısının bölenlerini while döngüsüyle bulmak için:
sayi = 12
bolen = 1
while bolen <= sayi:
if sayi % bolen == 0:
print(bolen)
bolen += 1Bu uygulama, 12 sayısının bölenleri olan 1, 2, 3, 4, 6 ve 12’yi konsola yazdırır.
Aynı şekilde, bir sayının kaç tane böleni olduğunu hesaplamak da mümkündür:
sayi = 12
bolen = 1
sayac = 0
while bolen <= sayi:
if sayi % bolen == 0:
sayac += 1
bolen += 1
print("Toplam bölen sayısı:", sayac)Bu kod, 12 sayısının altı adet böleni olduğunu gösterir.
Asal ve Mükemmel Sayıları Tanımlama
Asal sayılar, sadece 1 ve kendisine bölünebilen sayılardır. Bir sayının asal olup olmadığını while döngüsüyle kontrol etmek için:
sayi = 7
bolen = 1
sayac = 0
while bolen <= sayi:
if sayi % bolen == 0:
sayac += 1
bolen += 1
if sayac == 2:
print("Asal sayıdır")
else:
print("Asal sayı değildir")Bu kod, 7’nin asal olduğunu doğrular. Benzer şekilde, mükemmel sayılar da (kendisi hariç tüm bölenlerinin toplamı kendisine eşit olan sayılar) while döngüsüyle tespit edilebilir:
sayi = 6
bolen = 1
toplam = 0
while bolen < sayi:
if sayi % bolen == 0:
toplam += bolen
bolen += 1
if toplam == sayi:
print("Mükemmel sayıdır")
else:
print("Mükemmel sayı değildir")Bu kod, 6’nın mükemmel bir sayı olduğunu gösterir.
Sonuç: Döngülerle Sayı Programcılığını Güçlendirin
Python’un while döngüsü, sayı tabanlı algoritmalar geliştirirken karşılaşılan birçok problemi basit ve anlaşılır bir şekilde çözmeyi sağlar. Yukarıda yer alan örnekler, sadece başlangıç seviyesindeki uygulamalardır. Bu temel yapıları kullanarak daha karmaşık matematiksel problemleri de çözebilirsiniz. Döngüleri doğru şekilde kullanmak, kodunuzun okunabilirliğini artırır ve algoritma geliştirme becerilerinizi geliştirebilir.
Yapay zeka özeti
Python while döngüsüyle sayı dizileri oluşturun, asal sayıları tespit edin ve mükemmel sayıları bulun. Temelden ileri seviyeye algoritma geliştirme rehberi.