итерационная функция для вычисления показателей без использования ** - PullRequest
1 голос
/ 25 апреля 2019

Мне нужно написать программу, в которой я пишу итеративную функцию, которая вычисляет экспоненту базовой * степени без использования оператора ** в моей программе.

Я пробовал уже созданный код, но не уверен, как исправить ошибку «int», объект не вызывается.

def iterPower (base, exp):
    """Run a program in which the base multiplies itself by the exponent value"""
    exp = 3
    for n in base(exp):
        exp *= base
    return exp

base = 5
exp = 3

print(iterPower(5,3))

Ожидаемым результатом будет ответ 125, но я не получаю никакого числа из-за моих ошибок.

Ответы [ 2 ]

1 голос
/ 25 апреля 2019

Вам нужно умножить base * base exp раз:

def iterPower (base, exp):
    """Run a program ion which the base multiplies itself by the exponent value"""
    n = base
    for _ in range(1, exp):
        n *= base
    return n

Результаты:

>>> iterPower(5, 3)
125
>>> 5**3
125
0 голосов
/ 25 апреля 2019

Вы передаете целые числа, поэтому вы не можете вызвать 5 (3), как это делает base (exp).Вместо этого попробуйте использовать для n в диапазоне (exp), это даст вам желаемое количество итераций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...