Arama butonu
3
Cevap
141
Tıklama
0
Öne Çıkarma
Neden Böyle Oluyor?
K
5 yıl
Onbaşı
Konu Sahibi

Şimdi benim asıl amacım "mükemmel sayı" kontrol etme programı. Ama tüm halini düşünemediğimi farkettim. Ben de dedim ki önce sayının kendi hariç bölenlerini bulayım. Ondan sonra toplarım diye düşündüm. Bölenlerini bastırabildim şu şekilde:

sayi = int(input("Sayı:"))
toplam = 0

liste = list(range(1,sayi))

for i in liste:
if (sayi % i == 0):
print(i)

Bundan sonra şöyle yaptım:
sayi = int(input("Sayı:"))
toplam = 0

liste = list(range(1,sayi))

for i in liste:
  if (sayi % i == 0):
    toplam += i
    print(toplam)

Çıktısı böyle oluyor:

Sayı:10
1
3
8

Ancak ben sadece 8 demesini istiyorum.

Sonra geri kalanını hallederim zaten. Yani baştaki sayıya eşit mi bölenlerinin toplamı kısmını.

Kısacası sadece 8 demesi için ne yapmalıyım?

Yardımcı olursanız çok sevinirim.



K
5 yıl
Er

bu kodlama dili hangisi + php ile bu işi daha kolay yapabilirsiniz


Bu mesaja 1 cevap geldi.
K
5 yıl
Yüzbaşı

siz php biliyorsunuz ve onda rahatsınız diye herkesin php ile daha rahat yapacağı anlamına gelmiyor.

dil python



< Bu ileti DH mobil uygulamasından atıldı >


Bu mesajda bahsedilenler: @kadjey
K
5 yıl
Onbaşı
Konu Sahibi

Teşekkürler halletim şu şekilde:

sayi = int(input("Sayı:"))

i = 1
toplam = 0

while (i < sayi):
if (sayi % i == 0):
toplam += i
i += 1


if (toplam == sayi):
print(sayi,"Mükemmel Bir Sayıdır")

else:
print(sayi,"Mükemmel Bir Sayı Değildir")



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.