В чем заключается ошибка в алгоритме работы программы и как ее исправить?
Ввод:
print_long_words('Как и в прочих заданиях этого урока, в вашем решении функция должна быть определена, но не должна вызываться.')
вывод:
заданиях
решении
определена
вызываться
вот мой код:
def print_long_words(s):
[print(i.lower()) for i in s.replace('.', '').replace(',', '').replace(';', '').replace('!', '').replace('?', '').replace(':', '').split()if sum(i.count(j)for j in'аоэиуыеёюяaeiouy') > 3]
не работает при таких входных данных:
Ввод
print_long_words("""whatever.wherever1solution;solut1onal""")
Ожидаемый результат
solution
Вывод
whateverwherever1solutionsolut1onal
UPDATE:
Номер теста
9
Ввод
print_long_words('Как и в прочих заданиях этого урока, в вашем решении функция должна быть определена, но не должна вызываться.'.swapcase())
Ожидаемый результат
заданиях
решении
определена
вызываться
Ответы (1 шт):
Автор решения: Игорь Игоряныч
→ Ссылка
import re
text = 'Как и в прочих заданиях этого урока, в вашем решении функция должна быть определена, но не должна вызываться.'
rus = 'аоэиуыеёюя'
eng = 'aeiouy'
def print_long_words(data):
for word in re.split('\s+|\.|;|,|!|1|2|3|4|5|6|7|8|9|0', data):
word = word.lower()
if sum([l in rus for l in word]) >= 4:
print(word)
if sum([l in eng for l in word]) >= 4:
print(word)
print_long_words(text)
