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.
Endlosschleife
was willst du denn mit dem rekursiven Aufruf der Funktion count_digits erreichen?
Code: Alles auswählen
return len(str(count_digits(x)))
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
- __blackjack__
- User
- Beiträge: 13004
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@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…
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
@__blackjack__ Danke das du mich so herzhaft zum Lachen gebracht hast.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
- __blackjack__
- User
- Beiträge: 13004
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@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.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis