私は文字列内の特定の文字をチェックし、特定の順序でそれらを返す再帰関数を記述する必要があるので、この問題があります。基本的には、文字列を2つの部分に分割することになっています。最初の部分は小文字の "_"と "。"を、2番目の部分は大文字の ""と "|"を含む必要があります。他のすべての文字は無視する必要があります。文字列内の特定の文字をチェックする再帰関数を作成するにはどうすればよいですか?
はここで文字列の再帰の私の知識は本当に悪いです、私のコードです:
def split(n):
if len(n) <= 1:
return n
elif (n[0].isalpha() and n[0].lower() == n or "_" == n[0] or "." == n[0]):
return n[0] + split(n[1:])
elif (n[0].isalpha() and n[0].upper() == n) or n[0] == " " or n[0] == "|":
return n
else:
return n[0] + split(n[1:])
だから、例えば私がsplit("'lMiED)teD5E,_hLAe;Nm,[email protected]&Eg ,#[email protected]§&e7#4E #<(S0A?<)NT8<0'"))
を書く場合、それがあなたならば、それは簡単です私見('lite_hemligare', 'MEDDELANDE INTE SANT')
本当に再帰的にする必要がありますか? 're'gular式でこれを非常に簡単に解くことができます。 –
なぜ再帰的でなければならないのか分かりませんが、明らかにそうである必要はありません。 –
私は同じ問題の反復関数を作っていますが、再帰的なものを作りたいと思っています。 – Lukas