python:无法获得最终回报

时间:2013-11-08 10:45:07

标签: python return

声明:这是一项任务。我尝试了不同的组合来移动我的代码中的变量[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

1 个答案:

答案 0 :(得分:1)

为了执行递归,您必须在radiationExposure中返回呼叫:

return radiationExposure(newStart, stop, step)