ich bin Neuling. Nun habe ich eine Aufgabe bekommen, eine rekursive Funktion als nicht-rekursive Funktion (mit Schleifen) zu schreiben. Natürlich soll das Ergebnis gleich sein.
Ich habe lange daran gesessen und es letztlich hinbekommen. Mehrere Tests bestätigen die Funktionalität. Eigentlich könnte ich froh sein. Nein, ich bin ja sogar begeistert.

Leider ist eine Teilaufgabe davon, herauszufinden was diese Funktion bewirkt. Leider finde ich nichts im Netz. Kann mir einer einen kleinen Tipp geben, wo ich geziehlt suchen kann, bzw. wie evtl. die Funktion heißt? Besten Dank im Voraus für Eure Unterstützung!
Gegebene Rekursion:
Code: Alles auswählen
def mache_etwas(n):
'''Funkton zur ??? aus dem
übergebenen Startwert n'''
if n == 0:
return 4
else:
return 4/(2*n+1) + (-1**n) * mache_etwas(n-1)
Code: Alles auswählen
# Deklaration der Variablen mit Startwert
start_wert = int(input('Geben Sie den Startwert an: '))
ergebnis_1 = 0
ergebnis_2 = 0
# Bedingung falls Startwert = 0
if start_wert == 0:
ergebnis_1 = 4
else:
# Beginn Schleifendurchlauf von 1 bis start_wert
for i in range(start_wert+1):
ergebnis_2 = 4/(2*i+1)+(-1**(i+1))*ergebnis_1
ergebnis_1 = ergebnis_2
# Ausgabe auf Bildschirm
print('Ergebnis durch Rekursion: ',mache_etwas(start_wert))
print('Ergebnis durch Schleife: ',ergebnis_2)