私は2つのパラメータを持つ関数を書きました。 1つは空の文字列、もう1つは文字列です。私の任務は、単語を逆にして空文字列に置くために再帰することです。 iveがそれを得たと思うように、私は「メモリ不足のエラー」を受けました。私はコードを書いて、それをリストにして、それを逆向きに反転させ、最初の文字を空文字列に置き、リストから文字を削除して各文字に再帰が起こるようにします。そして、それは彼らの同等の再帰がいつ終了するように、(彼らが比較できるように、私はリストを作った)空の文字列の長さに元の単語の長さを比較して、何かを書くとき再帰、メモリ不足?
def reverseString(prefix, aStr):
num = 1
if num > 0:
#prefix = ""
aStrlist = list(aStr)
revaStrlist = list(reversed(aStrlist))
revaStrlist2 = list(reversed(aStrlist))
prefixlist = list(prefix)
prefixlist.append(revaStrlist[0])
del revaStrlist[0]
if len(revaStrlist2)!= len(prefixlist):
aStr = str(revaStrlist)
return reverseString(prefix,aStr)
これが有効なPythonの関数の定義のように見えないためにどのように見えるかです。 if文の下に書式設定の問題がありますか? –
空文字列には文字を配置できません。文字列は不変です。関数が戻ると、パラメータに加えた変更はその(ローカル)変数で消えます。 – chepner