好的,我已经使用递归函数做了一个函数,如下所示。递归函数帮助(Python)
global totalExposure
totalExposure = 0
def f(x):
import math
return 10 * math.e**(math.log(0.5)/5.27 * x)
def radiationExposure(start, stop, step):
time = (stop-start)
newStart = start+step
if(time!=0):
radiationExposure(newStart, stop, step)
global totalExposure
radiation = f(start) * step
totalExposure += radiation
return totalExposure
else:
return totalExposure
现在,当我把整数的值,函数工作正常。
rad = radiationExposure(0, 5, 1)
# rad = 39.1031878433
然而,我的函数给出了错误的值,当我把在小数的值。 那么,如何让我的函数以小数位工作呢?
例如:
rad = radiationExposure(0, 4, 0.25)
你的输出: 1217.5725783047335 正确的输出: 1148.6783342153556
您对输出的期望是什么?输出有什么问题? – thefourtheye
只是一个提示,你应该把你的'import'放在开头,这样它不会在每次函数运行时被调用... –
@ aj8uppal无论执行语句的次数多少,实际只会导入一次。 Python不会重新导入已导入的模块。 –