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