この問題は階乗です。再帰関数を使えば、簡単なのですが大きい数字だと処理できないそうです。そのために他の方法でやるしかありません。もしnが0の場合は1を返す。 0より小さい場合はNoneを返し他の場合は階乗の計算を行います。
def factorial(n): if n == 0: return 1 elif n < 0: return None i = 1 while n >= 1: i = i * n n = n - 1 return i
ライブラリの方法
pythonではライブラリもあるようです。pythonはライブラリが豊富で非常に便利ですね。import math def factorial(n): if n >= 0: return math.factorial(n)