使用循环计算提升到幂的值

时间:2014-11-14 00:30:11

标签: python

在课堂上,我们正在制作一个程序,使用循环将数字提升为具有循环的幂。我已经到了这一部分,但我迷路了。寻求任何帮助。

base=int(raw_input("What number do you want to be the base"))
exp=int(raw_input("What do you want to be the power"))

def power(base, exp):
    res=1
    for _ in range(exp):
        number=res*base
    return number
    print number

2 个答案:

答案 0 :(得分:1)

您正在覆盖每个循环中的数字值,因此最终结果是它永远不会更改。相反,做

base=int(raw_input("What number do you want to be the base"))
exp=int(raw_input("What do you want to be the power"))

def power(base, exp):
    res=1
    for _ in range(exp):
        res = res*base
    print res
    return res

print power(base, exp)

请注意,我已将print语句放在return语句之前;否则它不会被执行。最后,在最后有一个额外的print语句来调用该函数。事实上,使用此打印声明,您甚至不再需要使用power()方法进行打印,因此您也可以将其删除。

如果您想在没有for循环的情况下执行此操作,可以使用

简化此操作
def power(base, exp):
    return base**exp

答案 1 :(得分:1)

  • 您永远不会调用您定义的函数power。最后尝试print power(base, exp)
  • 如果您要调用它,它会循环一些,然后返回number,即res * base,这是1 * base(因为您从未更改任何内容,并执行相同的计算在每次循环中)。考虑res = res * base(或等效地,res *= base)并返回res,而不是number
  • 您也不会打印任何内容,因为它超出了return声明。