Ich bin neu im Codieren und versuche, mich über Rekursion zu unterrichten, indem ich eine sehr einfache Funktion erstelle, die sich selbst aufruft. Allerdings meinen Code verhält sich etwas anders, wie ich es erwartet hatte:Python-Rekursion funktioniert nicht wie erwartet
get Benutzereingaben Zahl, die nicht größer sein darf als 50
def getinput():
input = int(raw_input("type number under 50 >>> "))
if input < 50:
return input
else:
print input, "no, must be under 50"
getinput()
print getinput()
Dies ergibt sich folgendes Verhalten:
Dieses Bit wie erwartet
C: \ Python27> Python recur.py
Typ-Nummer unter 50 >>> 23
Dieses Bit unerwartete
C: \ Python27> Python recur.py
Typennummer unter 50 >>> 63
63 nein, muss unter 50 sein
typnummer unter 50 >>> 23
Keine
Meine Frage ist, warum ist die letzte Zeile "None", und nicht 23? Mein Code scheint die Funktion korrekt erneut aufzurufen, wenn der Benutzer eine Zahl von 50 oder höher eingibt, aber warum gibt der zweite Aufruf nicht 23 (die gleiche wie die ursprüngliche Ausgabe) zurück?
Jede Beratung viel
geschätzt
Sie müssen den Funktionsaufruf zurückgeben, sonst wird Ihre ursprüngliche Funktion in diesem Fall zurückkehren? – miradulo