这是我的代码
14 def sum(output):
15 result = 0
16 for x, w in zip(output[0], output[1]):
17 result+=w*np.exp(-((((b-a)/2.0)*x)+((a+b)/2.0))**2)
18 pprint(w*exp(-((((b-a)/2.0)*x)+((a+b)/2.0))**2))
19 return ((b-a)/2.0)*result
对于此代码,如果我调用函数sum
,我的终端输出将打印:
0.548543700179284
0.6
0.692267362730138
0.0
0.252818105473090
0.6
但是如果
14 def sum(output):
15 result = 0
16 for x, w in zip(output[0], output[1]):
17 result+=w*np.exp(-((((b-a)/2.0)*x)+((a+b)/2.0))**2)
18 return ((b-a)/2.0)*result
19
20 pprint(w*np.exp(-((((b-a)/2.0)*x)+((a+b)/2.0))**2))
它将打印一个漂亮的等式(我的意思是pprint()它的工作!)。
为什么第一个代码不能像第二个代码一样打印漂亮的等式?
答案 0 :(得分:1)
如果没有更多上下文,很难说,但可能因为w
和x
都定义了在函数内部和外部sum()
。< / p>
另请注意,这两行不一样:
pprint(w*exp(-((((b-a)/2.0)*x)+((a+b)/2.0))**2))
pprint(w*np.exp(-((((b-a)/2.0)*x)+((a+b)/2.0))**2))