я делал Pig Latin переводчик в питона (со всеми определенными правилами), а вот мой код:Python ошибка: «Индекс строки из диапазона»
print ("Enter some text here to be translated to Pig Latin: ");
text = input("> ");
wordlist = [];
letterlist = [];
for word in text:
if word[0] != "a" and word[0] != "e" and word[0] != "i" and word[0] != "o" and word[0] != "u":
if word[1] == "a" or word[1] == "e" or word[1] == "i" or word[1] == "o" or word[1] == "u":
for number in range(1, len(word) - 1):
letterlist.append(word[number]);
letterlist.append(word[0]);
letterlist.append("ay");
new_word = "".join(letterlist);
wordlist.append(new_word);
letterlist = [];
else:
for number in range(2, len(word) - 2):
letterlist.append(word[number]);
letterlist.append(word[0]);
letterlist.append(word[1]);
letterlist.append("ay");
new_word = "".join(letterlist);
wordlist.append(new_word);
letterlist = [];
else:
letterlist.append(word);
letterlist.append("way");
new_word = "".join(letterlist);
wordlist.append(new_word);
letterlist = [];
pigLatin = " ".join(wordlist);
print (pigLatin);
Я получаю сообщение об ошибке, указывая в сторону линии :
if word[1] == "a" or word[1] == "e" or word[1] == "i" or word[1] == "o" or word[1] == "u":
, говорящий, что индекс строки находится за пределами допустимого диапазона. Пожалуйста помоги!
Если вы введете однобуквенное слово, что будет 'word [1]' be? – jwodder
Как вы можете вложить два условия комплимента внутри друг в друга? – ZdaR
@jwodder Забудьте о вводе 1 буквы, строка 'для слова в тексте:' извлекает 1 символ из строки 'text'. Так что это ошибка для ввода нескольких букв –