我不完全理解这部分代码

I don't exactly understand this part of code

我不明白代码的作用我很高兴,但我想了解它在做什么,我完全是初学者...

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

这是一个幂函数raise_to_power(a,b),它会给你 a 的幂 b (a^b)。 它会乘以 a , b 次。 raise_to_power(a,b) = a*a......*a

这部分代码:

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

理解代码的最好方法是具体化它。

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次)。在该循环中,更新了 result 的值。所以 result 变成它之前的值(这里是 1)乘以 base_num 即 4。所以 result=4

在第二次迭代中,再次将 result 更新为 result = 4 x 4 = 16 在第三次也是最后一次(这里有 3 次迭代),结果变为 result = 16 x 4 = 64

所以总的来说这个函数正在计算pow_numbase_num

次方

第一行声明函数 raise_to_power 有两个变量,base_num 和 pow_num。

下一行是起点(1)。该函数应该只 return 整数(非小数的数字)而不是浮点数(包含小数的数字)。任何数字乘以 1 本身就是重要的了解此代码。

下一行提出了一个合格的陈述(当这种情况发生时......做那个)。这里当你有一个 pow_num (指数)。 它会将 base_num 乘以自身 pow_num 次。

这个函数计算base_num^pow_num。

好吧,它真正做的就是获取基数并将其置于某个事物的幂然后返回结果,例如

假设 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 然后返回所以你可以用

做任何你想做的事