考虑下面的代码段:循环过度的功能阵列出现故障为单功能在Python
def integ(fncts, propagate, stpSz):
conditions = propagate.copy()
iterator = 0
for i in fncts:
conditions[iterator] = conditions[iterator] + stpSz * i(0)
iterator+=1
return conditions
凡fncts
是函数数组,像这样:
f1 = lambda x: x
f2 = lambda x: 2*x
fncts = (f1, f2)
问题是,该以上代码适用于length(fncts)
> 1。但是,如果只有一个功能,则失败。如果用户只输入一个函数,如何确保代码可以执行?
它是如何失败?你会得到什么错误? – 2012-03-14 14:22:58
请根据“失败”进行展开。有没有回溯?如果是这样,请将其添加到您的问题。我怀疑你正在像'integ((f1),propagate,stpSz)'调用'inteq''而不是像这样'integ((f1,),propagate,stpSz)''。注意'f1'后面的逗号。这使它成为一个元组而不仅仅是括号。 – 2012-03-14 14:24:13