私のプログラムは、文字列の形で入力を受け取り、文字列に分割します。一つは、すべて小文字、アンダースコア、およびドットで構成されます。もう一つはすべての大文字、パイプ、スペースで構成されています。私は使用するべきではありません(機能用)文字列インデックスが範囲外になっていますか? python 3
def split_rec (letters):
uppers = ""
lowers = ""
if letters[0].isupper() or letters[0] == "|" or letters[0].isspace():
uppers += letters[0] + split_rec (letters[1:])
elif letters[0].islower() or letters[0] == "_" or letters[0] == ".":
lowers += letters[0] + split_rec (letters[1:])
elif not letters:
return lowers, uppers
私が得ているエラーの詳細について教えてください。 通話split_rec (letters[1:])
:
if letters[0].isupper() or letters[0] == "|" or letters[0].isspace(): IndexError: string index out of range
'letters'は空文字列なので、 –
@WillemVanOnsem私の入力はletters = "HfEFfefF _"となります。 –
しかし、文字列の末尾に再帰呼び出しを実行します。 –