【问题标题】:I don't exactly understand this part of code我不完全理解这部分代码
【发布时间】:2019-06-05 19:23:43
【问题描述】:

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

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

【问题讨论】:

  • 如果您可以选择要询问的功能的一部分,您的问题会更好。
  • 这个函数在python中是一个非常标准的类型。您需要指出让您感到困惑的部分。另外,你为什么不使用内置的 math.pow() 函数?
  • 2^3 = 2 *2*2。这里 base_num=2 和 pow_num=3

标签: python math exponent


【解决方案1】:

这部分代码:

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

【讨论】:

    【解决方案2】:

    这是一个权力函数raise_to_power(a,b),它会给你a权力b(a^b)。 它将乘以 a , b 倍。 raise_to_power(a,b) = a*a......*a

    【讨论】:

      【解决方案3】:

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

      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

      所以总的来说,这个函数是计算 base_num

      pow_num

      【讨论】:

        【解决方案4】:

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

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

        下一行提出了一个合格的声明(当这种情况发生时......这样做)。当你有一个 pow_num (指数)时。 它会将 base_num 与自身相乘 pow_num 次。

        这个函数计算base_num ^ pow_num。

        【讨论】:

          【解决方案5】:

          好吧,它实际上所做的只是获取基数并将其置于某物的幂,然后返回结果,例如

          假设 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 然后返回所以你可以做任何你想做的事

          【讨论】: