私はこのプログラムを書いた:再帰を使用して2つの文字列を混合し、両方を1の「インターレース」文字列として返す方法
def mix(a,b):
if len(a) != len(b):
return
else:
return a[0]+b[0]+a[1]+b[1]+a[2]+b[2]+a[3]+b[3]
これは、何が、一緒の2列と「インターレース」それらを取るです。たとえば、文字列1としてtaco
を選択し、文字列2としてbowl
を選択すると、tbaocwol
が返されます。文字列の長さが異なる場合は、ただ返します。
私が遭遇している問題は、私のelse return文の再帰です。どのような長さの文字列を受け入れ、2文字、3文字、または4文字に制限されないように書くことができますか?私は元のコードでインデックスをハードコードして、私が行っているように結果を見ていますが、私はこれで疲れています。
私はループや文字列処理関数を使いたくありません。 私が使用することができるものは、スライシングおよび/またはグローバル変数だけです。 .remove()
、index
、または.replace()
も使用しないでください。
注:私は似たような質問を見ましたが、それはJavaであり、私はPythonの同値性を理解できませんでした。
関数が 'None'または文字列を返します。実際には意図した動作ですか? – asimes
@asimesまあ、理想的には、もし長さが違うなら、それは何もしたくないのです。多分、私はそこに文字列 'Error:両方の単語が同じ長さでなければならない 'を追加することができます。しかし、それは今のところ意図された行動です。 – adhamncheese