Почему этот код не возвращает ни одного в Python 2? Однако, если я заменяю оператор return оператором печати i.e печатать сумму в самой функции, он дает правильный ответ. Почему это так? Я знаю, что это глупый вопрос, но я не могу понять это сам.Функция возвращает none вместо суммы списка
import math
n=int(raw_input().strip())
temp = [5]
arr=[]
def cal(arr):
arr.append(int(math.floor(temp[-1]/2)))
temp.append(arr[-1]*3)
if len(arr)==n:
return sum(arr)
cal(arr)
print cal(arr)