def fact(n: int) -> int:
return 1 if (n==1 or n==0) else n * fact(n - 1)
print(fact(3))
num = int(input("n: " ))
factorial = 1
if num < 0:
print("Минусовое число!")
elif num == 0:
print("Факториал 0 это 1")
else:
for i in range(1, num + 1):
factorial = factorial*i
print("Факториал от",num,"это",factorial)
Объяснение:
как по мне первый вариант намного лучше, но я на всякий случай сделал 2