我目前正在学习在线学习平台,我的代码必须通过测试用例(包含在下面) 这是一个问题:
编写一个高阶函数exception_function,它将返回一个带异常的函数。 exception_function应该接受函数f(x),整数输入和整数输出,并返回另一个函数g(x)。 g(x)的输出应该与f(x)相同,除了当x与整数输入相同时,输出将被返回。
例如,假设我们有一个函数sqrt,它返回参数的平方根。使用new_sqrt = exception_function(sqrt,7,2)我们获得new_sqrt,其行为与sqrt类似,但new_sqrt(7)除外,其中将返回值2。
以下是答案模板
from math import *
def exception_function(f, rejected_input, new_output):
"""Your code here"""
pass
#################
#DO NOT REMOVE#
#################
new_sqrt = exception_function(sqrt, 7, 2)
测试用例:
new_sqrt(9) - 预期答案3
new_sqrt(7) - 预期答案2
这是我不确定的。
非常感谢你的时间。
答案 0 :(得分:0)
管理解决它!
def exception_function(f, rejected_input, new_output):
def inner_function(x):
if x==rejected_input:
return new_output
else:
return f(x)
return inner_function
new_sqrt = exception_function(sqrt, 7, 2)