The assignment f=1 has to be moved inside loop:
n = int(input()) s = 0 ld = 0 while n != 0: ld = n % 10 f = 1 for i in range(1, ld + 1): f = f * i s = s + f n = n // 10 print(s)