Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะพิมพ์ตัวเลขที่หลงตัวเอง (อาร์มสตรอง) ด้วย Python ได้อย่างไร


ในการพิมพ์ Narcissistic Numbers ให้ดูที่คำจำกัดความของมันก่อน มันคือจำนวนที่เป็นผลรวมของหลักของตัวเอง แต่ละตัวยกกำลังของจำนวนหลัก ตัวอย่างเช่น 1, 153, 370 เป็นตัวเลขที่หลงตัวเองทั้งหมด คุณสามารถพิมพ์ตัวเลขเหล่านี้ได้โดยเรียกใช้รหัสต่อไปนี้

def print_narcissistic_nums(start, end):
for i in range(start, end + 1):
   # Get the digits from the number in a list:
   digits = list(map(int, str(i)))
   total = 0
   length = len(digits)
   for d in digits:
      total += d ** length
   if total == i:
      print(i)
print_narcissistic_nums(1, 380)

สิ่งนี้จะให้ผลลัพธ์

1
2
3
4
5
6
7
8
9
153
370
371