kullanıcıdan girilen sayinin asal olup olmadığını ekrana veren programı yazıyorum.
sayi=int(input("sayi gir:"))
for bolen in range (2,sayi):
if(sayi%bolen==0):
print("sayi asal değildir")
break
if sayi<2:
print("sayi asal değildir")
break
else:
print("sayi asaldır")
soru : Yukarıda göründüğü şekilde “for” döngüsü içerisinde “if” mevcut. ancak burada “else”
“if” girintisinin içinde değil. mantığını çok kavrayamadım. “if” girintisinde olmalı diye
düşünüyorum. (2. if yerine elif yazdığımda program hata veriyor.)
2.soru : Programa baktığımız zaman 2 den daha küçük bir değer girdiğimizde “sayi asal
değildir” bilgisini vermesi gerekiyor. Ama “sayi asaldır” uyarısı veriyor. sebebi ne olabilir ?
3.soru: asal sayi olup olmadığı sonucunu verdiği zaman tekrar sayi istesin istiyorum. bunun için
koda nasıl bir ekleme yapmalıyım ?
çünkü range(2,sayi) demişsin 2 den başlayıp ileri doğru kendisine doğru gelmesi lazm 2 den küçük input verrsen de oraya hiç girmez for döngüsünün gireceği eleman 0 olduğu için. bu da
sayi=int(input(“sayi gir:”))
for bolen in range (2,sayi):
if(sayi%bolen==0):
print(“sayi asal değildir”)
break
elif sayi<2:
print(“sayi asal değildir”)
break
else:
print(“sayi asaldır”) [quote=“murat_demirtas, post:1, topic:9757”]
(2. if yerine elif yazdığımda program hata veriyor.)
[/quote]
Bu bilgilendirme için teşekkürler.
kara kara düşünüyorum saatlerdir neden çalışmıyor diye
o kodda yine if yerine elif koyduğumda çalışmıyor.
EOL while scanning string literal
hatası veriyor
sayi=int(input("sayi gir:"))
if sayi<2:
print("sayi asal değildir")
quit()
for bolen in range (2,sayi):
if(sayi%bolen==0):
print("sayi asal değildir")
break
else:
print("sayi asaldır")
bu şekilde bir çözüm bulabildim. burada çok küçük bir problemim kaldı.
“quit()” yerine “break” yazdığım zaman bu sefer hata alıyorum.