0 Daumen
651 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

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community