python从键盘上输入一个正整数n,找出1000至10000之间所有各位数字之和等于n的数?

从键盘上输入一个正整数n,找出1000至10000之间所有各位数字之和等于n的数

如输入32,则有9869满足要求。因为9869各位上数字之和等于32

用python解决,需要详细的代码和解释,谢谢

def my_sum(a):
   n = len(a)
   result = sum(map(lambda x: int(x), a))
   return result 

n = int(input())
for i in range(1000, 10000):
    a = str(i)
    if my_sum(a) == n:
        print(i)

问题解决的话,请点采纳!!!