Merhabalar, ilk önce vaktinizi ayırıp konuya dahil olduğunuz için teşekkür ederim. Konumuza dönecek olursak python da neler yapabilirim diye düşünürken aklıma armstrong sayıları, mükemmel sayılar vs. geldi. Daha sonra while döngüsü ile yapmayı başardım ama for döngüsü ile de yapabilir miyim merak ettim ve daha sonra garip bir şekilde hatasız bir program oldu ama sonucu "Armstrong sayısı değildir" yazdığı için bu konuyu açtım. Bilenleriniz nerede hata yaptığımı veya ne yapmam gerektiğini söylerse memnun olurum.
Kod:
sayı = input("Sayı giriniz:")
liste = list(sayı)
liste1 = []
toplam = 0
anahtar = 1
for i in liste:
i = int(i)
liste1.append(i)
if anahtar > 0 and anahtar < 4:
anahtar += anahtar
#str sayıları int hale getirip yeni listeye aktardık.
else:
for a in liste1:
if (len(liste1) == len(liste)):
toplam = a ** len(liste1) + toplam
print(toplam)
if (toplam == sayı):
print("Armstrong sayıdır.")
else:
print("Armstrong sayı değildir.")

