Seite 1 von 1

PYthoN Aufg richtig verstehen.

Verfasst: Freitag 13. Juli 2012, 17:42
von mara1015
Ich habe folgendes Programm:

Code: Alles auswählen

def harmon(n):
    if n==1: return 1
    return harmon(n-1.0)+ 1.0/n
Es ist zwar richtig, (geht um die harmonische Reihe), aber ich habe Verständnis Probleme,

wenn ich def(6) habe, kommt als Ergebnis 2,44999 raus

Aber , wenn ich versuche das Programm nach zu verstehen, erhalte ich ein anderes Egebnis:

Ich mache doch:

harmon(n-1.0) --> (6-1) --> 5
plus
1.0/6
Als Erg. somit 5+ 1.0/6

aber das sind keine 2,449999
wo ist mein Denkfehler?

Re: PYthoN Aufg richtig verstehen.

Verfasst: Freitag 13. Juli 2012, 17:44
von cofi
Der Fehler ist, dass `harmon(5)` immernoch Rekursionsschritte hat und kein direktes Ergebnis hat, siehe auch dein anderer Thread.

Re: PYthoN Aufg richtig verstehen.

Verfasst: Freitag 13. Juli 2012, 17:55
von mara1015
werde s gleich mal ausprobieren. danke für die Hilfe

Re: PYthoN Aufg richtig verstehen.

Verfasst: Freitag 13. Juli 2012, 18:41
von mara1015
Hmm... dann müsste ich ja folgendes machen:


(5+1/6 )+(4+1/5)+(3+1/4)+(2+1/3)+1

oder?

Re: PYthoN Aufg richtig verstehen.

Verfasst: Samstag 14. Juli 2012, 15:14
von /me
Schau dir den Ablauf deines Skripts mal mit http://people.csail.mit.edu/pgbovine/py ... #mode=edit an.

Code: Alles auswählen

def harmon(n):
    if n == 1: 
        return 1
    return harmon(n - 1.0) + 1.0 / n

print harmon(6)