def narcissistic(n): n_list = [] if n == 1: n_list.append(0) min_num = "1" max_num = "9" bit = n while n-1: min_num += "0" max_num += "9" n -= 1 for i in range(int(min_num), int(max_num) + 1): b = bit num = 0 while b: num += int(str(i)[b-1])**bit b -= 1 if i == num: n_list.append(i) return n_list if __name__ == '__main__': # print(narcissistic(1)) # print(narcissistic(2)) print(narcissistic(7))