
やりたかったこと
最初に謝っておきますと、「配列内の畳み込み計算」という表現が正しいのかどうかわかりません。もしかしたら違っているかもしれません。 その上で、今回やりたかったことは、 このような計算です。 合計を出すだけなら sum 関数を使えば良いのでしょうが、計算の過程の表示をしたかったので sum 関数は使えませんでした。


やり方
やり方はコメントをそのままです。 コメントと出力結果をみれば直感的にわかるんじゃないかなぁと思いますが、わからなければ当記事にコメントを残していってくださると幸いです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | sample = [1,3,5] mark = len(sample) while len(sample) != 1: #最終的に結果は要素が1つだけの配列になるので、そうなるまで繰り返す。 for num in range(len(sample) - 1): #forでは隣同士を足し算して、その結果をsampleの末尾に追加する。 total = sample[num] + sample[num+1] print(sample) sample.append(total) del sample[0:mark] #del文によって使用済みの値、1,3,5を削除する。 mark -= 1 #sampleの長さが1つ短くなったので、markの値を減らす。 print(*sample) |
結果を表示すると
1 2 3 4 5 | (base) pillow545% python sample.py [1, 3, 5] [1, 3, 5, 4] [4, 8] 12 |
このようになります。


ABOUT ME