Python中的POwer。如何使用funсtion编写代码来显示^ n? 为什么这段代码不起作用?
a = int(input())
n = int(input())
def power(a, n):
for i in range (n):
a=1
a *= n
print(power (a, n))
答案 0 :(得分:2)
错误很少:
a
会丢失您的参数,请使用result
(或其他内容)。result = 1
设置在您的循环外一次。a
而不是n
。return
从函数def power(a, n):
result = 1 # 1 + 2
for _ in range (n):
result *= a # 3
return result # 4
样式说明:
_
来告诉读者(_
是一个合法的变量名称,但它是当不需要变量时使用它。提示:您可以简单地使用a**n
答案 1 :(得分:0)
它不起作用,因为你的函数没有返回结束值。将return a
添加到函数末尾。
这不是计算a
n
幂的def power(a,n):
pow_a = a
if n is 0:
return 1
for _ in range(n-1): # Substracting 1 from the input variable n
pow_a *= a # because n==2 means a*a already.
return pow_a
的方式。
一个合适的解决方案:
def power_recursive(a,n):
if n is 0:
return 1
elif n is 1:
return a
else:
a *= power_recursive(a,n-1)
return a
如果你想变得很酷,那么递归就是这样的:
typealias MyCategory = Category