执行如下python代码,分别输入整数9和10,结果相同都为3628800,哪里出错了?

def fact(n):
    if n == 0:
        return 1
    else:
        return n * fact(n-1)
num = eval(input("请输入一个整数:"))
print(fact(abs(int(num))))

你再仔细数下哦。看是不是多了一个0?

n == 0改成n == 1

你不是少数了一个0吧,9和10分别为362880和3628800