Başlangıç, bitiş ve artış değerleri belirtilen işlemleri tek tek tekrar eder.
Ör: 1’den 5’ kadar olan sayıları yazdıralım.
print(1)
print(2)
print(3)
print(4)
print(5)
Çıktı:
1
2
3
4
5
Ancak, 1’den 100’e kadar yazmak gerekirse böyle bir çözüm yolu doğru olmayacaktır! Bu
durumda döngü yapıları tercih edilmelidir. Python dilinde döngü için while ve for yapıları
kullanılır.
Ör: 1’den 100’e kadar olan tüm sayıları yazdıralım. Değişkenimiz n olsun;
for n in range(1,100):
print(n, end=” “)
Çıktı: 1 2 3 . . . . . 97 98 99
Ör: Şimdi de 1’den 100’e kadar tüm tek sayıları yazdıralım. Değişkenimiz yine n olsun;
for n in range(1,100,2):
print(n, end=” “)
Çıktı: 1 3 5 . . . . . 95 97 99
Açıklama: range(1, 100, 2) ifadesindeki 1 başlangıç sayısıdır. Eğer burası boş bırakılırsa sayı
otomatik olarak sıfırdan başlar. 100 ise yazılacak sayıların sınırıdır. 100 çıktıya dâhil değildir. 2
ise artış miktarını gösterir. Yani sayıyı 2’şer arttırır.
Örnekler:
range(10) → 0, 1,2,3,4,5,6,7,8,9 başlangıç ve artış değeri yok. Sadece bitiş değeri var.
range(1, 10) → 1,2,3,4,5,6,7,8,9 artış değeri yok. Sadece başlangıç ve bitiş değeri var.
range(1, 10, 2) → 1,3,5,7,9 başlangıç, bitiş ve artış değeri var.
range(10, 0, -1) → 10,9,8,7,6,5,4,3,2,1 buradaki artış değeri eksiye doğru gitmektedir.
range(10, 0, -2) → 10,8,6,4,2
range(2, 11, 2) → 2,4,6,8,10
range(-5, 5) → −5,−4,−3,−2,−1,0,1,2,3,4
range(1, 2) → 1
range(1, -1, -1) → 1,0
range(0) → ()
Ör: 21’den 0’a kadar olan sayıları 3’er 3’er azaltarak yazdıralım.
for n in range(21,0,-3):
print(n, end=” “)
Çıktı: 21 18 15 12 9 6 3
Ör: 1’den 100’ kadar olan sayıların toplamı
top= 0
for i in range(1,100):
top+= i
print(top)
Çıktı: 4950
Ör: 10 ve 10’un üstleri yazdıran program
for i in range(5):
print("{}".format(10**i))
Çıktı:
1
10
100
1000
10000
Ör: Bir string değişkeninin her bir karakterini ayrı ayrı işleme ve yazdırma
a = "kodlama"
for harf in a:
print(harf, end=” “)
Çıktı: k o d l a m a
Ör:
sayılar = "12345"
for sayı in sayılar:
print(int(sayı) * 2, end=” ”)
Çıktı: 2 4 6 8 10
Ör:
sayılar = "1234567"
for i in sayılar:
if int(i) > 3:
print(i, end=” “)
Çıktı: 4 5 6 7
Açıklaması: sayılar değişkeni oluşturduk. “1234567” ifadesindeki her bir karakteri ayırdık.
Yani tüm sayılar artık bağımsızlığını ilan etmiş durumda. Ayrıca her bir karakteri i değişkene
atadık. Ancak biz bu karakterleri int(i) kodunu yazarak tamsayıya çevirdik. Çünkü
matematiksel işlemler yapmak için verileri sayıya çevirmemiz gerekiyor. if komutuyla da
3’ten büyük olanları yazdırdık.
Ör: Parola girilirken Türkçe karakter uyarısı veren program
tr_harfler = "ŞşÇçĞğÖöÜüİı"
parola = input("Parolanız: ")
for karakter in parola:
if karakter in tr_harfler:
print("Parolada Türkçe karakter kullanılamaz")
Ör: İlk_metin‘de olan ama ikinci_metin‘de olmayan öğeleri yazdırmak
ilk_metin = "Bilgisayar"
ikinci_metin = "Bilişim"
for s in ilk_metin: #ilk_metin’deki her öğeye s diyoruz
if not s in ikinci_metin: #eğer bu öğeler ikinci_metinde yoksa
print(s, end=” “) #bu olmayan s’leri yazdırıyoruz
Çıktı: g s a y a r
Yorumlar
Yorum Gönder