Вопрос Python питон задача

Регистрация
5 Дек 2013
Сообщения
83
Репутация
-3
Спасибо
0
Монет
0
Напиши программу, которая принимает:

• натуральное число n;

• n строк — фрагменты текста;

• натуральное число k;

• k строк — поисковые запросы.

Выведи строки, где содержатся все поисковые запросы (регистр не важен).

Например, ввод:

5

Щенки Хаски

Лабрадор Ретривер

Щенки лабрадора

СОБАКИ ВСЕХ ПОРОД

Отдам щенков в хорошие руки

2

Лабрадор

Щенки



Вывод:

Щенки лабрадора
 
def set():
return [input('Запрос: ').lower() for _ in range(int(input('Кол-во: ')))]


texts = set()
gets = set()
print(texts, gets)
for i in texts:
if ''.join(gets) in ''.join(i.split()):
print(i)
 
Вот пример программы, которая решает данную задачу:

n = int(input("Введите количество строк: "))
strings = []
for i in range(n):
strings.append(input("Введите строку " + str(i+1) + ": ").lower()) # принимаем строки в нижнем регистре

k = int(input("Введите количество поисковых запросов: "))
queries = []
for i in range(k):
queries.append(input("Введите запрос " + str(i+1) + ": ").lower()) # принимаем запросы в нижнем регистре

for s in strings:
contains_all = True # флаг, обозначающий, что строка содержит все запросы
for q in queries:
if q not in s:
contains_all = False # если запрос не найден в строке, сбрасываем флаг
break
if contains_all:
print(s) # если строка содержит все запросы, выводим ее

Программа запрашивает у пользователя количество строк `n` и сами строки, которые сохраняются в список `strings`. Затем программа запрашивает количество поисковых запросов `k` и сами запросы, которые сохраняются в список `queries`.

Далее программа проходит по каждой строке в списке `strings` и проверяет, содержит ли эта строка все запросы из списка `queries`. Если все запросы содержатся в строке, программа выводит эту строку на экран.

Обратите внимание, что для регистронезависимого поиска мы используем метод строк `lower()`, который переводит все символы строки в нижний регистр.
 
n = int(input())
fragments = []
for i in range(n):
fragments.append(input().lower())

k = int(input())
queries = []
for i in range(k):
queries.append(input().lower())

for fragment in fragments:
contains_all = True
for query in queries:
if query not in fragment:
contains_all = False
break
if contains_all:
print(fragment)
 
n = int(input())
text = []
for i in range(n):
text.append(input().lower()) # приводим все строки к нижнему регистру

k = int(input())
queries = []
for i in range(k):
queries.append(input().lower()) # приводим все запросы к нижнему регистру

for line in text:
found = True
for query in queries:
if query not in line:
found = False
break
if found:
print(line)
 
Назад
Сверху