Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с пайтоном

не заниженый а опущенный Ученик (95), открыт 3 дня назад
Честность вампиров
Ограничение времени 2 секунды
Ограничение памяти 64Mb
Ввод стандартный ввод
Вывод стандартный вывод

Да, феи были популярны, но для Уолтера именно вампиры стали краеугольным камнем мировоззрения. Во-первых, он не сомневался в том, о чём твердили и Джеффри Чосер, и Шарлотта Бронте – что феи давным-давно сделали ноги из Англии, так что искать их бесполезно. Иное дело вампиры, которые водились на вполне определенной территории, сиречь в Карпатах. Во-вторых, вампиры из легенд подкупали своей честностью. Например, они не входят в дом без приглашения. И они не запирают двери в склеп, чтобы охотнику не пришлось тратить драгоценное время на возню с замками и отмычками.

Напишите программу для поиска фей, гномов, гоблинов, вампиров… Ой, вампиров не надо!

Формат ввода
Сначала вводится количество слов и сами слова по одному в строке. Затем вводится количество строк и сами строки.

Формат вывода
Найдите строку, в которой больше всего слов в любом регистре из переданного первым списка. Если таких несколько, то последнюю встреченную. Выведите все слова из неё, кроме тех, что были в списке слов, через запятую и пробел в порядке следования в строке. Слова выводите с прописной буквы, остальные строчные.
Но!
Если встретится строка со словом vampire в любом регистре, её нужно пропустить, даже если там больше всего подходящих слов.
1 ответ
Cogni Просветленный (40059) 3 дня назад
 n=int(input().strip()) 
words={input().strip().lower() for _ in range(n)}
m=int(input().strip())
best_line=None
best_count=-1
for _ in range(m):
line=input().strip()
line_words=line.split()
lw_lower=[w.lower() for w in line_words]
if 'vampire' in lw_lower:
continue
count=sum(w in words for w in lw_lower)
if count>=best_count:
best_count=count
best_line=line_words
res=[w.capitalize() for w in best_line if w.lower() not in words] if best_line else []
print(', '.join(res))
Похожие вопросы