помогите пж
В пятницу 15 апреля 1927 года Ипполит Матвеевич, как обычно, проснулся в половине восьмого и сразу же просунул нос в старомодное пенсне с золотой дужкой. Затем он сунул сухощавые ноги в довоенные штучные брюки, завязал их у щиколотки тесемками и погрузился в короткие мягкие сапоги с узкими квадратными носами и низкими подборами. Через пять минут на Ипполите Матвеевиче красовался лунный жилет, усыпанный мелкой серебряной звездой, и переливчатый люстриновый пиджачок.
Однако, разве так должен быть одет уездный предводитель дворянства? Помогите выбрать подходящий костюм.
Напишите программу, которая из введенной строки выберет только те слова, которые имеют не менее 3 общих букв с контрольным словом. Повторяющиеся буквы считать за одну, регистр не учитывать.
Формат ввода
Вводится строка слов, разделенных пробелами.
Python
Затем вводится слово.
Формат вывода
Через разделитель точка с запятой и пробел вывести те слова из строки, которые имеют не менее трех общих букв с последним контрольным словом.
Answers & Comments
Verified answer
Считываем строку, сразу разбиваем её на слова.
Считываем контрольное слово.
Каждое слово можно рассмотреть как множество (set) его букв, тогда слово подходит, если мощность пересечения множества его букв с множеством букв контрольного слова не меньше 3.
Код (Python 3):
words = input().split()
key_set = set(input())
chosen_words = [word for word in words if len(key_set.intersection(set(word))) >= 3]
print(*chosen_words, sep="; ")
Пример ввода:
фартук мокасины юбка кафтан
шарфик
Пример вывода:
фартук; мокасины; кафтан
Формат ввода
Вводится строка целых чисел через пробел.
Формат вывода
Без повторений вывести только те числа, которые больше среднего арифметического значения всех чисел. Порядок вывода значения не имеет.