Проблема с поиском подходящих слов
– Истоптать сто пар железных башмаков, – сказала Эльвира, как будто повторяя чьи-то слова. – Ис-топ-тать сто пар… Слышите? Топот. – Ну да. А если сказать «шесть мышат» – будет шелест… Напишите программу для выделения общего.
Формат ввода Вводятся фразы, пока не будет введена строка FINISH. Затем вводится строка слов, записанных через запятую и пробел. Как слова, так и фразы могут повторяться.
Формат вывода Для каждой фразы выведите слова из строки, если гласные буквы из слова есть в этой фразе в любом регистре. Слова выводить через символ нижнего подчеркивания без повторений маленькими буквами, от фразы отделить ++. Если для фразы слов не нашлось, то ее не выводить. Гласными считаются aeouiy.
Вот, собственно, сама задача. Мне не совсем понятно, как нужно производить поиск подходящих слов, можете ли, пожалуйста, подробно объяснить? Свой код я прикрепил внизу. Выглядит он страшно, но пока ничего другого в голову мне не пришло.
word = []
word2 = []
word3 = []
u_string = input()
g = 'aeouiy'
it1 = 0
it2 = 0
it3 = 0
while u_string != 'FINISH':
word.append(u_string)
u_string = input()
need_more = input().split(', ')
while it1 < len(word) and it2 < len(need_more):
for i in word[it1]:
for j in need_more[it2]:
if (i in {'a', 'e', 'i', 'o', 'u', 'y'} and j in {'a', 'e', 'i', 'o', 'u', 'y'}) and i == j:
word2.append(word[it1])
word3.append(need_more[it2])
it2 += 1
it1 += 1
for i in range(len(word2)):
print(f'{word2[it3]}')
it3 += 1