#Python: Python Dersleri 27: Döngülerde Else Deyimi
#Döngülerde ELSE Deyimi
"""
while ve for döngüleri ile birlikte aynı zamanda ELSE de kullanılır. Diğer bir çok yazılım dilinde IF ile birlikte ELSE kullanılırken Python dilinde WHILE ile birlikte de ELSE kullanılır.
WHILE ile birlikte ELSE kullanılması, ilgili while döngüsünün BREAK ile sonlandırılmaması durumunda çalışır.
WHILE ile birlikte ELSE kullanılması oldukça önemli bir ihtiyacı karşılamaktadır. Diğer yazılım dillerinde eksikliği hissedilmektedir.
Aşağıdaki örneği inceleyiniz:
"""
#Bu örnekte kullanıcıdan bir sayı girmesi istenecektir. Kullanıcının sadece üç deneme hakkı vardır. Eğer while döngüsü sonlandırılmazsa sonundaki ELSE devreye girer.
deneme_sayisi=0
while deneme_sayisi<3:
deneme_sayisi += 1
sayi=int(input("Lütfen bir sayi giriniz:"))
if sayi==10:
print("Doğru girdiniz!")
break
else:#Buradaki ELSE, aslında IF deyiminin değil, WHILE deyimine ait ELSE'dir. Zira WHILE ile aynı hizaya yazılmıştır.
print("3 defa denediniz. Deneme hakkınız bitmiştir.")
############
#Şimdi işi biraz daha ileri götürelim. Bir sayının asal olup olmadığını bulalım.
#Eğer girilen sayı kendinden küçük herhangi bir sayıya bölündüğünde sıfır kalanı veriyorsa asal değildir. Yoksa asaldır.
sayi=int(input("Lütfen bir sayı giriniz ve biz de asal olup olmadığını test edelim:"))
deneme=2
while deneme:
if sayi%deneme==0:
print("Bu sayı asal değildir. Bu sayı ",deneme,"sayısına tam bölünmektedir.")
break
deneme+=1
else:
print("Girilen sayı asal sayıdır.")
#########################################################################
#Aynı işlemi bir de for döngüsü ile yapalım. FOR döngüsü eğer BREAK ile sonlandırılmadıysa bu durumda ELSE devreye girer.
sayi=int(input("Lütfen bir sayı giriniz ve biz de asal olup olmadığını test edelim:"))
for deneme in range(2,sayi):
if sayi%deneme==0:
print("Bu sayı asal değildir. Bu sayı ",deneme,"sayısına tam bölünmektedir.")
break
else:
print("Girilen sayı asal sayıdır.")
#İşi biraz daha ileri götürelim. 2 ile girilen sayı arasındaki tüm asal sayıları tespit edip listeleyelim:
hedef_sayi=int(input("Lütfen bir sayı giriniz ve biz de 2 ile o sayı arasındaki asal sayıların listesini üretelim:"))
asal_sayilar=[2]
for sayi in range(3,hedef_sayi+1,2):#Adım sayısı 2 alındı. Zira çift sayılara bakmaya gerek yoktur. 3 ve üçten büyük tüm asal sayılar tektir. İş yükünü hafifletmek için böyle davrandık. Ayrıca range fonksiyonu aranan sayının kendisini katmayacağı için sayi+1 yazdık.
for denenen_sayi in asal_sayilar:
if sayi%denenen_sayi==0:
break
else:
asal_sayilar.append(sayi)
print(asal_sayilar)
Python: Python Dersleri 27: Döngülerde Else Deyimi
Kodu Kopyala
TÜM PYTHON KODLARI
Youtube Kanalımız
Aşağıdaki makrolar işinize yarayabilir.
Aşağıdaki makrolar işinize yarayabilir.