Я не совсем понимаю эту часть кода - PullRequest
0 голосов
/ 05 июня 2019

Я не понимаю, что делает код, он работает, я счастлив, но я хочу понять, что он делает, я абсолютный новичок ...

def raise_to_power(base_num, pow_num):
    result = 1
    for ind in range(pow_num):
        result = result * base_num
    return result

Я не понимаю эту часть кода Python

for ind in range(pow_num):
    result = result * base_num

Ответы [ 5 ]

1 голос
/ 05 июня 2019

Эта часть кода:

for ind in range(pow_num):
    result = result * base_num

является просто циклом for, где ind фактически не используется внутри цикла.

Часто такой цикл записывается:

for _ in range(pow_num):
    result = result * base_num

с использованием подчеркивания для обозначения переменной, которая не используется.

range(pow_num) означает, что цикл будет вращаться pow_num раз.

Вычисление: result = result * base_num просто продолжает умножаться на base_num, поэтому в конечном итоге мощность рассчитывается, как указали другие.

Например, вызов raise_to_power(2, 3) будет означать, что result начнется с 1 и умножьте последовательно на 2 всего 3 раз:

result = 1
result = 2
result = 4
result = 8
0 голосов
/ 05 июня 2019

хорошо, все, что он на самом деле делает, это берет базовое число и использует его во власти чего-то, а затем возвращает результат, например,

скажем, что base_num равно 5, а pow_num равно 3. Вы должны установить результат в 1, чтобы начать, потому что, очевидно, если вы установите его в 0, так как его умножение, ваш ответ всегда будет 0.

Итак, он берет ваш base_num в цикле и умножает его на количество раз, равное вашему pow_num.

В этом случае ваши 5 будут умножаться на результат, равный 1, поэтому у вас останется 5, то есть то, что вы хотите, чтобы base_num был, затем он возьмет 5 и умножит на количество раз, которое вы выбрали для ваш power_num, который был 3, так что 5 * 5 * 5 получает ваш результат 125, который затем возвращается, так что вы можете делать все, что вы хотите с

0 голосов
/ 05 июня 2019

В первой строке указывается функция rise_to_power с двумя переменными base_num и pow_num.

Следующая строка является отправной точкой (1).Функция должна возвращать только целые числа (числа, которые не являются десятичными), а не число с плавающей точкой (числа, которые содержат десятичные дроби).Любое число раз 1 само по себе, что важно знать для этого кода.

В следующей строке предлагается квалифицированный оператор (когда это происходит ... сделайте это).Вот когда у вас есть pow_num (показатель степени).Он умножит base_num на себя для pow_num раз.

Эта функция вычисляет base_num ^ pow_num.

0 голосов
/ 05 июня 2019

Лучший способ понять код - это конкретизировать его.

def raise_to_power(4, 3):   # base_num = 4 , power_num = 3   
result = 1                  
for ind in range(3):
    result = result * 4
return result

Итак результат = 1 изначально. Затем цикл запускается 3 раза (power_num times). В этом цикле значение результат обновляется. Таким образом, результат становится его предыдущим значением (здесь 1), умноженным на base_num , т. Е. 4. Таким образом, результат = 4

Во второй итерации снова результат обновляется до результат = 4 x 4 = 16 На третьем и последнем (здесь 3 итерации) результат становится результат = 16 x 4 = 64

Таким образом, в целом эта функция вычисляет pow_num мощность base_num

0 голосов
/ 05 июня 2019

Это степенная функция raise_to_power(a,b), которая даст вам a к власти b (a^b). Это умножит a, b раз. raise_to_power(a,b) = a*a......*a

...