Почему эта функция Power возвращает ноль для отрицательных экспоненциальных случаев? - PullRequest
0 голосов
/ 08 января 2019

Функция возвращает ноль для всех отрицательных экспоненциальных случаев: Например: print power(2, -3) возвращает 0

def power(int1, int2):
   if int2 == 0:
       return 1

   result = int1

   for num in range(1, int2):
       result*=int1

   if int2 > 0:
       return result

   else:
       return (1/result)

1 Ответ

0 голосов
/ 08 января 2019

Правильное использование:

def power(int1, int2):

    result = int1

    for num in range(1, abs(int2)): #Must be positive value!  use "abs()"
        result*=int1

    if int2 == 0:
        return 1

    elif int2 > 0:
        return result

    else:
        return (1/result)

print(power(2, -3)) #OUTPUT: 0.125
...