Голосование за лучший ответ
Senior Backend Developer
Оракул
(77766)
3 года назад
result = max(set(sentences[0].split()) & set(sentences[1].split()) & set(sentences[2].split()), key=len)
где sentences -> список из предложений (наличие знаков препинания не учтено, но можно просто убрать через replace при необходимости)
Молот Шотландцев
Высший разум
(300965)
3 года назад
Первое предложение отсортировать по длинам слов в порядке убывания и в цикле проверять его на наличие совпадений во втором и третьем предложениях. Первое совпадение и будет искомым результатом. Останавливаем цикл и выводим результат.
В теории как-то так