なぜこのコードはPython 2でnoneを返しますか?しかし、return文をprint文、つまり関数自体のprint sumで置き換えると、正しい答えが得られます。どうしてこんなことに?私はそれが愚かな質問であることを知っていますが、私はそれを私自身で理解できません。関数はリストの合計の代わりに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)