[Python]whileループでNの階乗を求めるには?

python

どうも、ちょげ(@chogetarou)です。

whileループでNの階乗を求める方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

whileループでNの階乗を取得するには、変数を使います。

まず、数値「N」を受け取る引数を持つ関数を定義します。

階乗の結果を保持する初期値「1」の変数を用意します。

def calFact(n):
    result = 1

次に、whileループを記述します。

whilteループの条件式には、関数の引数が1より大きいという比較式を指定します。

そして、ループ処理で用意した変数に関数の引数を掛け、関数の引数を「-1」します。

あとは、戻り値として用意した変数を返します。

def calFact(n):
    result = 1
    while n > 1:
        result = result * n
        n = n - 1
    return result

上記の関数は、引数に指定した値の階乗を求めます。

関数を使わない場合は、関数の引数を変数で代用します。

#4の階乗を求める
num = 4
result = 1
while num > 1:
    result = result * num
    num = num - 1
print(result) #24

使用例

def calFact(n):
    result = 1
    while n > 1:
        result = result * n
        n = n - 1
    return result

print(calFact(3))
print(calFact(5))
print(calFact(10))
出力: 
6
120
3628800

コメント

タイトルとURLをコピーしました