Ich baute diese Funktion, um eine Zeichenfolge Eingabe in Schwein Latein zu ändern. Ich habe versucht zu überprüfen, ob der Index außerhalb des Bereichs liegt, aber meine Methode der Überprüfung ist, dass der Index außerhalb des Bereichs liegt.Ich habe versucht zu überprüfen, ob der Index außerhalb des Bereichs liegt, aber der Code, den ich verwendet habe, gibt den Index außerhalb des Bereichs?
Siehe wie folgt:
def simple_pig_latin(input, sep=' ', end='.'):
words=input.replace(" ", " ").split(sep)
new_sentence=""
Vowels= ('a','e','i','o','u')
Digit= (0,1,2,3,4,5,6,7,8,9)
cons=('b','c','d','f','g','h','j','k','l','m','n','p','q','r','s','t','v','w','x','y','z')
characters= ('!','@','#','$','%','^','&','*','.')
for word in words:
if word[0] == " ":
new_word=word
else:
if word[0] in Vowels:
new_word= word+"way"
if word[0] in Digit:
new_word= word
if word[0] in cons:
first_letter=word[0] #saves the first letter
change= str(word) #change to string
rem= change.replace(first_letter,'')
put_last= rem+first_letter #add letter to end
new_word= put_last+"ay"
if word[0] in characters:
new_word= word
new_sentence= new_sentence+new_word+sep
new_sentence= new_sentence.strip(sep)+end
return new_sentence
Sie die ersten sehen, ob Anweisung überprüft wird, wenn er leer ist, aber ich bin genau diesen Fehler bekommen:
„Linie 9 Indexerror: string Index aus des Bereichs "
Wie kann ich sonst nach der leeren Sequenz suchen? Ich kann nicht für Wort in Bereich (len (Wörter)) verwenden, weil dann keiner meiner if-Anweisungen funktioniert. Es wird mir sagen, dass das Objekt nicht eingruppierbar ist.
„Sie können sehen, Die erste if-Anweisung überprüft, ob sie leer ist. "Nein, ist es nicht. Es versucht auf 'word [0]' zuzugreifen und zu sehen, ob 'word [0]' ein Leerzeichen ist. Es nimmt an, dass "Wort [0]" existiert. Das ist nichts wie ein Test, wenn "Wort" leer ist. – user2357112
Aus welchem Grund wurde diese Frage abgelehnt? Ich möchte meinen Fehler beheben, damit er keine schlechten Stimmen bekommt. –