これは大きな問題の代わりに非常に簡単なコードですが、私はそれをチャンクで扱うことができます。私は最初の問題から始めます。再帰関数とリスト追加/延長
def testrecurse(z,target):
x=[]
if z<target:
z*=2
x.append(z)
x.extend(testrecurse(z,target))
return x
これは、私の脳を再帰で助けるためのテスト機能です。それは数値をとり、それが目標数に達するまで2の乗算をすべて表示します。ので、もし私が次のように入力します
testrecurse(1,1000)
は私が受け取る:
[2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]
偉大です!出力は良好できれいに見えます。しかし、ここに私の問題があります。私は自分の出力に、最初の値を追加するか、追加するのに苦労しています。ここで私は出力を見た目にしたいです。
[1,2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]
私は
x=[] to x=[z]
を変更しようとしましたが、その後、私は受け取る:任意の助けをいただければ幸い
[1, 2, 2, 4, 4, 8, 8, 16, 16, 32, 32, 64, 64, 128, 128, 256, 256, 512, 512, 1024, 1024]
、私は再帰に新たなんだ、それは私の頭が痛くなります。
2を乗算する前に追加を試み、<=を使用する場合は
ああ、ありがとう、私はそれを修正するような簡単な変更を実現しませんでした。 – Unknown