所以我正在创建一个简单的程序,它获得2个函数(a和k)和一个整数值(b),然后它在两个函数(a和k)中得到形式参数,它是“x”并且适用条件x< b然后根据条件进行函数调用,a或b。但是当我运行程序时,它会给出一个错误,即x未在全局框架中定义。我希望它从分配给函数a和b的形式参数中得到“x”,然后根据它得到条件。
这是我的代码
def square(x):
return x * x
def increment(x):
return x + 1
def piecewise(a, k, b):
if x<b:
return a
else:
return k
mak = piecewise(increment,square ,3 )
print(mak(1))
答案 0 :(得分:3)
我想你想做这样的事情:
def piecewise(a, k, b):
def f(x):
if x < b:
return a(x)
else:
return k(x)
return f
但是,我不确定这是不是一个好习惯。所以,我在这里留下我的答案,看看评论,并了解它是否有任何问题。