数字dを検索するためにnをスキャンする関数(関数再帰を使用する)を作成しようとしていますが、見つかった場合は&を置き換えます。以下のコードに示すように、指定された数rを返します。このコードは正常に動作しますが、出力は文字列形式です。私は整数を出力するためにそれを変更する多くの方法を試みたが、役に立たない。助けてくれてありがとう!再帰関数使用時の文字列+整数加算の回避
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)
ですか?言い換えれば、特に再帰を使用する必要がありますか?これは非常に些細な作業です。 – DeepSpace
'int()'の呼び出しで戻り値をラップするだけです –
ええ、私は具体的には再帰で書く必要があります。ありがとう。 – jaren