Tanrısal Su
Kilopat
- Katılım
- 2 Ocak 2015
- Mesajlar
- 107
Hocam sizin kodunuzu anlatayım:Teşekkürler. Ben de buna benzer bir şey yapmışımama nedense benimki çalışmamıştı.
Break sadece döngüden çıkmak için var Hoca'm. Break ile ilgisi yok.Hocam ben de python öğrenme sürecindeyim de sizin kodunuzdaki hata ilk break kaldırılınca düzelir mi?
Hoca'm aslında sorun sizin exit yazmanız ben ise break ile çıkmaya çalıştım. Kodumda exit kullanınca çalıştı. Aradaki fark ne tam olarak?Hocam sizin kodunuzu anlatayım:
Mesela 15 girdik, kodunuz çalışmaya başladı.
- 2 Bölünür mü? Bölünmez, o zaman asaldır, döngüyü bitir.
Siz bölündüğü veya bölünmediği anda karar verip döngüyü bitiriyorsunuz. Asıl yapılması gereken bölünebildiği zaman asal olmadığına karar vermek, bölünemediğinde de en sona kadar devam etmek. Eğer hiç bölünemediyse zaten asaldır.
Yardımcı olduysa çözüm olarak işaretlerseniz sevinirim hocam.
a = int(input())
Counter = True
if a<2:
print("En küçük asal sayı 2 sayısıdır.")
else:
for i in range(2, a-1):
if a % i == 0:
Counter = False
else:
Counter = True
if Counter == True:
print("Sayı asal değil.")
else:
print("Sayı asal.")
exit() kullanınca döngüden sonra kod yazılmış olsaydı onlar da çalışmazdı. Çünkü direkt programı bitiriyor. Break ise o anki bloktaki döngüyü bitiriyor. Sizin kodunuzda aralarında bir fark yok, zaten ilk başta ben de ona anlam verememiştim, neden exit() ile yazmamı istedi diyeHoca'm aslında sorun sizin exit yazmanız ben ise break ile çıkmaya çalıştım. Kodumda exit kullanınca çalıştı. Aradaki fark ne tam olarak?
[CODE lang="sass" title="Asal Sayı" highlight="17"]sayi = int(input("Sayı giriniz\n"))Verdiğiniz kod bloğu tam çalışmıyor 15 sayısına asal dedi. Zaten sayi %2 olması yanlış. Sayı % i olmalı ama böyle nasıl yapabilirim onu bulmaya çalışıyorum. Sizin kod bloğunuz tek sayıları yazdırmaya yarar sadece.
Gecenin bu saatinde bunu anlamaya uğraşmayacağım. Ama yarın çözebilirsem yazacağımexit() kullanınca döngüden sonra kod yazılmış olsaydı onlar da çalışmazdı. Çünkü direkt programı bitiriyor. Break ise o anki bloktaki döngüyü bitiriyor. Sizin kodunuzda aralarında bir fark yok, zaten ilk başta ben de ona anlam verememiştim, neden exit() ile yazmamı istedi diyeKodunuz aynen şuan ki şeklindeyse ve sadece break'leri, exit() ile değiştirdiyseniz şans eseri olduğunu düşünüyorum. Onunla bir ilgisi yok çünkü.
Burada çıktı verecek bir şeyler eksik gibi hocam if bloğundan sonra print ile bir şeyler yazdırmak lazım vs. ve a-1 yerine a yapmalıyız. Zaten a sayısını içermiyorKod:a = int(input()) Counter = True if a<2: print("En küçük asal sayı 2 sayısıdır.") else: for i in range(2, a-1): if a % i == 0: Counter = False else: Counter = True if Counter == True: print("Sayı asal değil.") else: print("Sayı asal.")
Bu şekilde buldum hocam.
Bunun gibi ama bu kod bloğunda da hata var 15 sayısına asal diyor.[CODE lang="sass" title="Asal Sayı" highlight="17"]sayi = int(input("Sayı giriniz\n"))
while True:
if sayi == 2:
print("Sayı asaldır.")
break
if sayi < 2:
print("Sayı 2'den küçük olamaz.")
break
for i in range(2, sayi+1):
if sayi % i == 0:
print("Sayı asal değildir.")
exit()
else:
print("Sayı asaldır.")
exit()[/CODE]
bundan mı bahsediyo
[CODE lang="python" title="Asal Sayı" highlight="14"]sayi = int(input("Sayı giriniz\n"))Gecenin bu saatinde bunu anlamaya uğraşmayacağım. Ama yarın çözebilirsem yazacağım
Burada çıktı verecek bir şeyler eksik gibi hocam if bloğundan sonra print ile bir şeyler yazdırmak lazım vs. ve a-1 yerine a yapmalıyız. Zaten a sayısını içermiyor
Bunun gibi ama bu kod bloğunda da hata var 15 sayısına asal diyor.
Neden sonsuz döngüye aldınız ki? Orada[CODE lang="python" title="Asal Sayı" highlight="14"]sayi = int(input("Sayı giriniz\n"))
while True:
if sayi == 2:
print("Sayı asaldır.")
break
if sayi < 2:
print("Sayı 2'den küçük olamaz.")
break
for i in range(2, sayi):
if sayi % i == 0:
print("Sayı asal değildir.")
exit()
print("Sayı asaldır.")[/CODE]
bu şekil çalışır
while True
'ya ihtiyaç yok.asal = [2, 3, 5, 7, 11]
sayi = 0
def input_():
global sayi
try:
sayi = int(input("Sayı giriniz: "))
except:
print("Sayı girmeniz gerekmektedir.")
input_()
finally:
test()
def test():
if sayi < 2:
print("2 Sayısından küçük asal sayı yoktur")
if sayi in asal:
print(f"{sayi} Sayısı asaldır.")
else:
for i in range(2, sayi):
if sayi % i == 0:
print(f"{sayi} Sayısı asal değildir.")
break
else:
print(f"{sayi} Sayısı asaldır.")
break
input_()
input_()
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.