python求所有n位水仙花数,不能用for也不能用while

比如n=3,输出所有3位水仙花数 [153, 370, 371, 407]

n = int(input())

listNum = []
def sxh(x):
    num = sum(map(lambda i:i**n, list(map(int,str(x)))))
    if num == x:
        listNum.append(str(x))

ll = list(map(lambda x: sxh(x), range(10**(n-1),10**n)))

print("\n".join(listNum))