Ich versuche eine Funktion (die Funktionsrekursion verwendet) zu erstellen, die eine Zahl, n, sucht nach einer Ziffer d, & Wenn ich d durch ersetzen möchte eine bestimmte Zahl r, wie im folgenden Code gezeigt. Dieser Code funktioniert gut, aber die Ausgabe ist in einem String-Format. Ich habe viele Möglichkeiten ausprobiert, um es zu ändern, um eine ganze Zahl auszugeben, aber ohne Erfolg. Danke für die Hilfe!Vermeidung von String + Ganzzahladdition bei Verwendung der rekursiven Funktion
def replace_digit(n, d, r):
number = str(n)
i = 0
if len(number) == 1:
if number == str(d):
return str(r)
else:
return number
else:
if number[i] == str(d):
return number[:i] + str(r) + replace_digit(int(number[i+1:]),d,r)
else:
return number[i] + replace_digit(int(number[i+1:]),d ,r)
Ist es eine Übung? Mit anderen Worten, benötigen Sie eine Rekursion? Das ist eine sehr triviale Aufgabe. – DeepSpace
Umgeben Sie einfach den Rückgabewert in einem Aufruf an 'int()' –
Ja, ich muss speziell in Rekursion schreiben, daher das Problem. Vielen Dank. – jaren