どうも、ちょげ(@chogetarou)です。
for文を使って、数値の累乗を取得する方法を紹介します。
方法

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
コメント