Hier ist meine aktuelle Funktion:Python3 - Funktion, die unter Verwendung von Rekursion ein Argument und gibt Liste akzeptiert nur
def fn_one(x):
_list1 = [3, 1, 5, 3, 8, 5]
if 5 < x < 14:
return (fn_one(x-3) * fn_one(x-2)) + fn_one(x-1)
else:
if x < 6:
return _list1[x]
print(fn_one(7))
Gerade jetzt nur meine Funktion einen int zurückgibt, was ich tun möchte, ist, eine Liste zurück, die die enthält Rückgabewert von 0 bis zum int. Beispiel: Angenommen, ich rufe die Funktion auf, indem ich "print (fn_one (4))" eintippe, und dann eine Liste mit [fn_one (0), fn_one (1), fn_one (2), fn_one (3), fn_one) zurückgeben (4)] von NUR mit Rekursion. Nein für Schleifen oder ähnliches, und die Funktion muss nur eine Variable nehmen.
Warum das 'if' im' else' Zweig? –
Warum auch die Obergrenze von 13? Was passiert, wenn Sie 'fn_one (14)' aufrufen? –
Ich verstehe den oberen Teil der Funktion nicht. Wie verhält es sich mit Ihrem Beispiel? Was soll 'fn_one (x-3) * fn_one (x-2)' tun, wenn 'fn_one' eine Liste zurückgibt? –