GitHubからのコードですが、なぜ反復処理されているかがわかりません
基本的な質問になります。
GitHubから以下のコードを見つけました。
https://gist.github.com/ria3100/fc7ebf6c5d37357919f2
どうもN-1回同じ処理を反復しているようです。
なぜこのコードで反復処理がなされているのかが分かりません。
また、
temp[len(temp[:])//2] = 1
がどのような構文かも理解できていません。
文法的なことですが調べきれずにおります。
お手数ですがお教えいただけないでしょうか。
input1 = txt_input[0].split()
def reversal(temp):
temp[len(temp[:])//2] = 1
return temp
def calc(N, temp = [0]):
print("calc")
if N == 1:
return temp
else:
ret = temp[:]
ret.append(0)
ret.extend(reversal(temp[:]))
return calc(N-1, ret)
if __name__ == '__main__':
N = int(input1[0])
print(calc(N))