Seite 1 von 1

Endlosschleife

Verfasst: Freitag 9. November 2018, 15:40
von makrinu
Hi

Folgender Code (sry bin Anfänger):

def count_digits(x):
if x == 0:
return 0
else:
return len(str(count_digits(x)))
count_digits(32)


Ziel: Ziffern einer Zahl zu zählen und zu returnen.
Problem: Endlosschleife

Bin für jede Hilfe dankbar.

Re: Endlosschleife

Verfasst: Freitag 9. November 2018, 16:14
von ThomasL
was willst du denn mit dem rekursiven Aufruf der Funktion count_digits erreichen?

Code: Alles auswählen

return len(str(count_digits(x)))

Re: Endlosschleife

Verfasst: Freitag 9. November 2018, 16:24
von __blackjack__
@makrinu: Überleg doch einfach mal was da passiert. Du rufst die Funktion mit 32 auf. Das ist nicht 0 also geht die Funktion in den ``else``-Zweig, wo die Funktion mit 32 als Argument aufgerufen wird. Das ist nicht 0 also geht die Funktion in den ``else``-Zweig, wo die Funktion mit 32 als Argument aufgerufen wird. Das ist nicht 0 also geht die Funktion in den ``else``-Zweig, wo die Funktion mit 32 als Argument aufgerufen wird. Das ist nicht 0 also geht die Funktion in den ``else``-Zweig, wo die Funktion mit 32 als Argument aufgerufen wird. Das ist nicht 0 also geht die Funktion in den ``else``-Zweig, wo die Funktion mit 32 als Argument aufgerufen wird. Das ist nicht 0 also geht die Funktion in den ``else``-Zweig, wo die Funktion mit 32 als Argument aufgerufen wird. Das ist nicht 0 also geht die Funktion in den ``else``-Zweig, wo die Funktion mit 32 als Argument aufgerufen wird. Das ist nicht 0 also geht die Funktion in den ``else``-Zweig, wo die Funktion mit 32 als Argument aufgerufen wird. Das ist nicht 0 also geht die Funktion in den ``else``-Zweig, wo die Funktion mit 32 als Argument aufgerufen wird. Das ist nicht 0 also geht die Funktion in den ``else``-Zweig, wo die Funktion mit 32 als Argument aufgerufen wird. Das ist nicht 0 also geht die Funktion in den ``else``-Zweig, wo die Funktion mit 32 als Argument aufgerufen wird…

Re: Endlosschleife

Verfasst: Freitag 9. November 2018, 16:34
von ThomasL
@__blackjack__ Danke das du mich so herzhaft zum Lachen gebracht hast.

Re: Endlosschleife

Verfasst: Freitag 9. November 2018, 17:01
von makrinu
Danke für die Antworten ^^
Mittlerweile bin ich auf das richtige Ergebnis gekommen!

Ausdrücken wollte ich damit, dass die einzelnen Ziffern der Zahl gezählt werden.

Re: Endlosschleife

Verfasst: Freitag 9. November 2018, 17:53
von __blackjack__
@makrinu: Was Du ausdrücken wolltest war uns glaube ich allen klar, nicht so klar war warum Du das *so* ausgedrückt hast. Man kann das auch rekursiv machen, und so etwas wird gerne mal als Aufgabe für Rekursion gestellt, aber dann hat man eben eine rekursive Lösung und keine wo die ”normale” Lösung im Grunde auch noch einmal komplett drin ist.