Mein Programm soll eine Eingabe in Form einer Zeichenkette aufnehmen und in Zeichenfolgen aufteilen, eine mit allen Kleinbuchstaben, Unterstrichen und Punkten. Der andere mit all den oberen Fällen, den Pfeifen und den Räumen. Ich bin nicht verwenden (Funktion) sollString-Index außerhalb des zulässigen Bereichs? 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
Können Sie mir bitte sagen, mehr über den Fehler erhalte ich?
if letters[0].isupper() or letters[0] == "|" or letters[0].isspace(): IndexError: string index out of range
Weil 'Buchstaben' die leere Zeichenfolge ist? –
@ WillemVanOnsem meine Eingabe wäre Buchstaben = "HfEFFefF _" z. –
Sie führen jedoch einen rekursiven Aufruf am Ende der Zeichenfolge aus. –