Dies ist ein sehr einfacher Code anstelle eines größeren Problems, aber ich hoffe, ich kann es in Brocken angehen. Ich fange mit meinem ersten Problem an.Rekursive Funktionen und Listen anfügen/erweitern
def testrecurse(z,target):
x=[]
if z<target:
z*=2
x.append(z)
x.extend(testrecurse(z,target))
return x
Dies ist eine Testfunktion, um mein Gehirn mit Rekursion zu helfen. Es dauert eine Zahl und zeigt dann alle Multiplikationen von zwei an, bis es die Zielzahl erreicht. also wenn ich ein:
testrecurse(1,1000)
I erhalten:
[2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]
Das ist sehr gut! Ausgabe sieht gut und sauber aus. Aber hier ist mein Problem, es fällt mir schwer, diesen ersten Wert in meiner Ausgabe anzuhängen oder hinzuzufügen. Hier ist, wie die Ausgabe aussehen soll.
[1,2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]
Ich habe versucht,
x=[] to x=[z]
ändern, aber dann habe ich erhalten:
[1, 2, 2, 4, 4, 8, 8, 16, 16, 32, 32, 64, 64, 128, 128, 256, 256, 512, 512, 1024, 1024]
jede mögliche Hilfe würde geschätzt, ich bin neu zu Rekursion und es macht meinen Kopf verletzt.
Versuchen Sie, anzufügen, bevor Sie mit 2 multiplizieren, und ändern Sie 'if z
Oh, danke dafür, ich wusste nicht, dass eine einfache Änderung wie diese es beheben würde. – Unknown