【发布时间】:2020-06-02 18:57:46
【问题描述】:
我的第一个脚本不返回整个输入列表的结果,第二个不返回可迭代元组。有什么建议吗?
input= [0.1, 0.2]
def newvalue():
for i in input:
value=integrate.quad(lambda i:(np.exp(-i))/i,i,np.inf)
return value[0]
print(newvalue()) #1.8229239584193715
如果我使用以下脚本,它会完成工作并打印输入列表产生的所有值,但这个脚本的问题是我无法遍历计算值。
for i in input:
value = integrate.quad(lambda i: (np.exp(-i)) / i, i, np.inf)
print(value[0]) #1.8229239584193715
#1.2226505441838773
【问题讨论】:
-
你需要建立一个数组并在for循环结束后返回它。
-
return打破循环。 -
您在寻找
yield吗?而不是打破循环,它会在每次调用时为您提供下一个值,查看generators,...您还应该将“输入”作为参数传递,而不是将其用作全局