Yazdığım Python kodunun neresi yanlış?

Beach House

Hectopat
Katılım
27 Ekim 2020
Mesajlar
300
Makaleler
1
Daha fazla  
Cinsiyet
Erkek
sayi=int(input("sayı gir: ")) if(sayi%sayi==1): print("sayı asaldır") else: print("sayı asal değildir")


Kod bu girilen sayı asal mı değil mi? Onu bulan program ama çıktı olarak hangi sayıyı yazarsam sayı asal değildir diye çıktı alıyorum.
 
Son düzenleyen: Moderatör:
Öncelikle sayının asal olup olmadığını o şekilde kontrol edemezsiniz.
Sürekli else içerisinde düşmesinin sebebi tüm sayıların kendisi ile modu 0'dır. Yani tüm reel sayılar kendi kendisine tam bölünür. (0/0 hariç çünkü tanımsız.)
 
Ay "/" işareti sanmışım M.Sc Jelly Bean'in dediği gibi hep else statement'a düşecek, özür dilerim.
Ama input sayi=0 olduğu zaman programın hata vereceği hâla geçerli.
 
Öncelikle sayının asal olup olmadığını o şekilde kontrol edemezsiniz.
Sürekli else içerisinde düşmesinin sebebi tüm sayıların kendisi ile modu 0'dır. Yani tüm reel sayılar kendi kendisine tam bölünür. (0/0 hariç çünkü tanımsız.)

Anlamadığım yer şu mesela 7 asal sayı 7%7 de kalan 1'dir.
 

Geri
Yukarı