Merhaba, yazdığınız kod çok güzel olmuş ama ben küçük bir hata buldum.
Biz hem bölen sayıları hem de bölünecek olan sayıyı -100 ile 100 arasında seçiyoruz. Bu nedenle -98 veya 52 gibi sayılar için bütün tam bölen tamsayıları bulabiliyoruz. Ancak -220 veya 1400 gibi bir sayı seçersek yalnızca -100 ile 100 arasındaki bölenleri veriyor. Haliyle liste oldukça eksik oluyor.
Ben şöyle bir satır ekleyerek bu sorunu çözdüm:
def bolenleri_bul(sayi):
bolen_listesi = []
for i in range(-100,100):
if i==0:
i+=1
elif (sayi % i == 0):
bolen_listesi.append(i)
return bolen_listesi
while True:
sayi = int(input(“Bölenlerini bulmak istediğiniz sayıyı giriniz :”))
if (sayi == “0”):
print(“0”)
break
elif sayi not in range (-100,100):
print(“Sayınız -100 ile 100 arasında olmalıdır”)
continue
else:
sayi = int(sayi)
print(bolenleri_bul(sayi))
Ancak bu sefer de 0 da hata veriyor. Neden olduğunu anlamadım