我遇到了以下作业问题:
我的这个问题的代码被标记为错误,当我查看建议的解决方案时,我无法理解我哪里出错了。我在 Python IDLE 编译器中运行这两个函数的代码只是为了看到两个函数返回相同的输出,如下所示:
>>> def dual_function(f,g,n): #Suggested solution
def helper(x):
f1,g1 = f,g
if n%2==0:
f1,g1=g1,f1
for i in range(n):
x=f1(x)
f1,g1=g1,f1
return x
return helper
>>> def dual_function_two(f,g,n): #My solution
def helper(x):
if n%2==0:
for i in range (n):
if i%2==0:
x = g(x)
else:
x = f(x)
else:
for i in range(n):
if i%2==0:
x = f(x)
else:
x = g(x)
return x
return helper
>>> add1 = lambda x: x+1
>>> add2 = lambda x: x+2
>>> dual_function(add1,add2,4)(3)
9
>>> dual_function_two(add1,add2,4)(3)
9
>>>
如果有人能找出我的解决方案中的错误,我将不胜感激。谢谢你。
凤凰求蛊
相关分类