次の試験に向けて、プログラミングの問題をいくつか練習しています。これは、私が理解できなかった練習問題の 1 つです。
「次のコード (Python) は何を出力しますか?」
def f(s):
if len(s) <= 1:
return s
return f(f(s[1:])) + s[0] #Note double recursion
print f('mat')
print f('math')
どうやら、答えは
atm
hatm
しかし、なぜ?