私は返された値が、各桁文字列内の各文字に2を乗算する再帰関数を書くにはどうすればよいですか?
例の複製た文字列を返し、数与えられた再帰関数を完了しようとしている:507場合数は0のみ、その後であれば、550077
を返します。 -507戻り-550077
は、私はまだ実装されていない。ただ、それは負の数であれば、一度だけ
例負の符号を返すも0
を返します負の数を認識するためにything、私は最初
を動作するように私の機能を取得しようとしていたこれまでのところ、私は持っている:
def double(x):
if x == 0:
return x
else:
x = str(x)
return x[0]*2 + double(x[1: ])
print(double(527))
は、しかし、これははIndexErrorを返します:範囲 外の文字列インデックスを、私はそれがで働いていました結果を返すのではなく結果を出力しますが、私が厳密に解決しようとしている問題は、結果が返され、印刷されません。私は間違って何をしていますか?
あなたはおそらくつもり 'lenは(X)== 0 'の代わりに' X == 0 'の –
時々' X 'は番号であり、時にはそれが文字列だからあなたが問題を抱えています。それが文字列の場合、再帰はいつ止まるべきですか?それが欠けている場合です。 – alexis