def replaceChar(myString, oldChar, newChar):
# if myString has no characters left, return newString
if myString == '':
return newString
elif myString[0] == oldChar:
# then add newChar to newString
else:
# then add myString[0] to newString
# Chop the first character off of myString
myString = myString[1:]
# recurse
replaceChar(myString, oldChar, newChar)
文字列が不変なので、newCharまたはoldCharをnewStringに追加できません。 newStringをリストにすることはできません。なぜなら、各再帰ループで上書きされるからです。私はまた、規則の中にすべてが関数の中になければならないので、関数の外でそのリストを定義することはできません。これらの文字を新しい文字列に追加するにはどうすればよいですか?Pythonを使用して文字列の文字を再帰的に置き換えます。
ドゥいくつかのサンプル入力/期待出力がありますか? – sberry
replaceChar( 'サンプル入力がいくつかありますか'、 'o'、 'X')は 'DX yXu have SXme sample input'を返します –