ในการพิมพ์ 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