def su_mu(n):
num_list = []
if n == 1:
for demo in range(10 ** n):
sum = 0
for i in range(1, n + 1):
sum += int(str(demo)[i - 1]) ** n
if sum == demo:
num_list.append(demo)
return num_list
else:
for demo in range(10**(n-1),10 ** n):
sum = 0
for i in range(1, n + 1):
sum += int(str(demo)[i - 1]) ** n
if sum == demo:
num_list.append(demo)
return num_list
重复的代码怎么优化