Код: Выделить всё
outputWord = ""
def translate(inp):
output = []
words = inp.split()
for i in range(len(words)):
outputWord = ""
curWord = words[i]
if curWord[0] in ("a", "o", "e", "u"):
outputWord = curWord + "way"
else:
pos = curWord.rfind("a") # this is the problem.
outputword = curWord[pos:] + curWord[:pos] + "ay"
output.append(outputWord)
return(output)
output = translate(raw_input(""))
print(' '.join(output))
Когда я определяю задачу, я пытаюсь найти первый символ, который является гласной (не включая y). Но я не могу придумать, как сделать это как можно меньшим количеством строк. По сути, он ищет все гласные, и наименьшее значение устанавливается в pos. Это то, что я пытаюсь сделать, но все, что я пробовал, занимает более 10 строк.
Я пробовал использовать операторы if, циклы for, списки, переменные и rfind( ). Ни один из них не дал желаемого результата.
Все существующие вопросы StackOverflow предназначены для поиска одного символа, а не пяти, и проверки того, какой из них имеет наименьший индекс.
Пожалуйста, не делайте этого за меня, просто дайте мне идеи или ресурсы, которые могут помочь. Это независимая задача, и нам разрешено использовать StackOverflow.
Подробнее здесь: https://stackoverflow.com/questions/787 ... ers-in-one