0 Daumen
1,4k Aufrufe

Aufgabe:

Ich brauche bitte bei diesem Phyton Code Hilfe. Ich weiss nicht wie man das mit der Rekursion aufschreibt. Bitte um eine nähere Lösung ohne Python.


Problem/Ansatz:

def callme(a,b):

    if (a>1):

          return a+callme(a-1,b)

    else:

          return b

print(str(callme(5,6)))

Frage: Was bekommt der Benutzer wenn er 5 eingibt ?

Avatar von

1 Antwort

0 Daumen
def callme(a,b):

    if (a>1):

          return a+callme(a-1,b)

    else:

          return b

print(str(callme(5,6)))


Ein Versuch

1.

a = 5

return (5 + callme(4,b))

2.

a = 4

return(5 + 4 + (callme(3,b))

3.

a=3

return(5 + 4 + 3 + (callme(2,b))

4.

a=2

return(5 + 4 +3+2 + (callme(1,b))

5.

a=1

return b

Und jetzt von unten her einsetzen.

Das könnte nun 5 + 4 + 3 + 2 + b geben.

print(str(callme(5,6)))

Sieht so aus, als ob callme mit a=5 und b=6 aufgerufen würde.

D.h. ich käme dann auf 5+4+3+2+6

Bitte erst mal kontrollieren und dann noch nachschauen, wie das ausgegeben wird. (Zahl oder String?)

Avatar von
Made by a lovely Community