Необходимо написать программу, которая будет принимать на вход строку, разбивать строку на слова по пробелу. Далее нужно из всех слов убрать следующие пунктуационные знаки: !,.?;:#$%^&*(), а также привести слова к нижнему регистру. В итоге нужно вывести в алфавитном порядке слова, которые состоят как минимум из 5 символов, а также имеют как минимум 4 уникальных символа, и которые встретились в исходном тексте не менее 2х раз.
python
import string
def filter_text(text):
words = text.split()
filtered_words = []
# Убираем пунктуационные знаки и приводим к нижнему регистру
translator = str.maketrans('', '', string.punctuation)
for word in words:
word = word.lower().translate(translator)
filtered_words.append(word)
word_counts = {}
for word in filtered_words:
if word in word_counts:
word_counts[word] += 1
else:
word_counts[word] = 1
filtered_list = []
for word in filtered_words:
if len(word) >= 5 and len(set(word)) >= 4 and word_counts[word] >= 2:
filtered_list.append(word)
filtered_list.sort()
return filtered_list
text = input("Введите текст: ")
result = filter_text(text)
print(result)
После запуска программы пользователю будет предложено ввести текст. Программа обработает введенный текст и выведет список слов, удовлетворяющих заданным условиям, отсортированный в алфавитном порядке.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет