在课堂上,我们正在制作一个程序,使用循环将数字提升为具有循环的幂。我已经到了这一部分,但我迷路了。寻求任何帮助。
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
答案 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
声明。