[Python]for文で数値の累乗を取得するには?

python

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

for文を使って、数値の累乗を取得する方法を紹介します。

スポンサーリンク

方法

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

for文を使って、数値の累乗を取得するには、変数を使います。

まず、初期値「1」の変数を用意します。

result = 1.0

for _ in range(n):のように、引数に指数を指定したrange()をfor文でループします。
(rangeの引数には、2以上の値を指定)

ループ処理で、用意した変数に数値を掛けます。

#x=数値,n=指数
for _ in range(n):
    result *= x

上記のfor文で、用意した変数に数値のn乗(n= rangeの引数の値)を格納します。

また、指数に0や1、マイナスの値を含む場合は、条件分岐する必要があります。

具体的には、指数が0や1の場合は変数に変更を加えず、マイナスの値の場合はループ処理で変数を割ります。

def power(x, n):
    result = 1.0
    if n == 0 or n == 1:
        return result
    elif n < 0:
        for _ in range(n, 0):
            result /= x
    else:
        for _ in range(n):
            result *= x
    return result

使用例

def power(x, n):
    result = 1.0
    if n == 0 or n == 1:
        return result
    elif n < 0:
        for _ in range(n, 0):
            result /= x
    else:
        for _ in range(n):
            result *= x
    return result

num = power(2, -1)
num2 = power(5, 2)
num3 = power(10, 3)

print(num)
print(num2)
print(num3)
出力:
0.5
25.0
1000.0

コメント

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