2

声明:这是一个任务。我尝试了不同的组合来在我的代码中移动变量 [totalExposure] 以获得返回但失败了。问题:利用递归求一段时间内的辐射暴露量。问题:我可以正确地得到所有计算[我在在线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):
        radiation=f(start)*step
        radiationExposure(newStart, stop, step) 
        global totalExposure
        totalExposure+=radiation   
    else:
        return totalExposure
4

1 回答 1

1

为了执行递归,您必须返回调用radiationExposure

return radiationExposure(newStart, stop, step)
于 2013-11-08T10:48:57.093 回答