Не работает нахождение факториала Python

Не могу понять, почему не работает нахождение факториала, сижу туплю. При положительном вводе выводит 0, при отрицательном и 0 выводит введённое число. Версия - 3.10.4

val = int( input('Введите число: ') )
result = val

while val > 0:
    val -= 1
    result *= val

print(result)

Ответы (1 шт):

Автор решения: Universall
while val > 1:
    ...

В конце (когда val = 1) вы делаете val -= 1 и получается, что val = 0. Тогда result * 0 = 0

→ Ссылка