Special Number

 def fact(i):

f=1

for t in range(1,i+1):

f*=t

return f

def special(num):

t=num

sum=0

while t>0:

l=t%10

sum+=fact(l)

t//=10


if sum==num:

return True


return False

t=range(1,1000000)

l=list(filter(special,t))

print("Special Numbers in the range %d to %d are"%(t[0],t[-1]))

for x in l:

print(x)

Like 145 =1!+4!+5!