试图找出python中的pow源代码我的功能出了问题

时间:2017-11-26 20:42:00

标签: python function pow

我正在练习我的学校书,上面写着:
“在python中编写代码,不使用函数pow()来计算数字的幂。”
我的功能的第一部分工作正常。但是当谈到#elif b> 1
它只返回a * b的数字,而不是a ** b ...的数字 如果你能帮助我,我会很高兴的。我花了至少1个小时试图解决它。

scatter()

2 个答案:

答案 0 :(得分:0)

这可能是因为您将a添加到x b次。你应该成倍增加,而不是添加。

答案 1 :(得分:0)

您似乎是在添加而不是相乘。

for i in range(b):
    x *= a

0和1不需要特殊情况; b == 0就足够了。

def mypow(a, b):
    answer = 1  # a ** 0 == 1
    # The loop is only entered if b > 0
    for _ in range(b):
        answer *= a
    return answer