2014-10-26 3 views
0

Я хочу использовать функцию f в функции radiationExposure, но этот код ничего не возвращает.Как использовать функцию внутри функции в python

def f(x): 
    import math 
    return 10*math.e**(math.log(0.5)/5.27*x) 


def radiationExposure(start, stop, step):  
    if start < 0 or stop < start or step < 0: 
     print("Invalid inputs!") 
    else: 
     result = 0 # Total radiation exposure area 
     for i in range(start, stop + 1): 
      result += f(i)*step 
     return result 


radiationExposure(5, 10, 1) 
+2

Вы имеете в виду, что ничего не возвращает или ничего не печатает? – matsjoyce

+0

он просто ничего не возвращает. он ничего не распечатывал –

+0

Не используйте локальный импорт, они затрудняют понимание вашего кода и обычно используются только для разрыва циклических зависимостей (что плохое) или для создания условного импорта, например. на операционной системе или наличие модулей расширения. Вам не нужно использовать их. – deets

ответ

4

При запуске сценария Python, он будет не автоматического эхо результата. Ваш код работает нормально, но вам нужно явно напечатать результат:

print(radiationExposure(5, 10, 1)) 

Ваш сценарий, при запуске, теперь будет печатать 22.9424104106.

+0

, но я думал, что моя функция радиационного воздействия вернет результат? –

+2

It *. * Возврат товара. Но вы ничего не делаете с этим. Вам нужно распечатать его, как показал вам Мартин. – deets

+0

Я получаю его сейчас. благодаря –

Смежные вопросы