Дано натуральное число n. За ним следуют n строк. Затем дано число k - количество поисковых фраз. За ним следуют
Дано натуральное число n. За ним следуют n строк. Затем дано число k - количество поисковых фраз. За ним следуют k поисковых фраз. Напишите программу, которая выводит все введенные строки, в которых встречаются все поисковые фразы. Формат входных данных следующий: сначала вводится натуральное число n - количество строк, затем вводятся сами строки в указанном количестве, затем вводится число k, после чего вводятся сами поисковые фразы. Формат выходных данных: программа должна вывести все введенные строки, в которых встречаются все поисковые фразы. Примечание: поиск должен быть регистронезависимым. Пример входных данных:
18.11.2023 18:34
Описание:
В данной задаче необходимо написать программу, которая будет искать строки, в которых встречаются все заданные поисковые фразы. Программа принимает на вход количество строк n, затем сами строки, а затем количество поисковых фраз k и сами поисковые фразы.
Для решения этой задачи можно воспользоваться следующим алгоритмом:
1. Считываем число n - количество строк.
2. Создаем пустой список strings[] для хранения строк.
3. Используя цикл, считываем строки и добавляем их в список strings[].
4. Считываем число k - количество поисковых фраз.
5. Создаем пустой список queries[] для хранения поисковых фраз.
6. Используя цикл, считываем поисковые фразы и добавляем их в список queries[].
7. Для каждой строки в списке strings[] проверяем, содержит ли она все поисковые фразы из списка queries[]. Если содержит, то выводим эту строку.
8. Завершаем программу.
Демонстрация:
Входные данные:
Выходные данные:
Совет:
Чтобы решить эту задачу, вам понадобится использовать список для хранения строк и поисковых фраз. Используйте циклы для постепенного считывания данных и проверки каждой строки на наличие всех необходимых поисковых фраз. Не забудьте проверить каждую строку сразу после ее ввода на соответствие критериям поиска.
Задание:
Сколько строк удовлетворяют поисковым фразам?
Входные данные:
Ответ:
Разъяснение:
Для решения данной задачи нам необходимо написать программу, которая будет производить поиск по заданным строкам и выводить только те строки, которые содержат все поисковые фразы.
Алгоритм решения:
1. Сначала мы считываем количество строк (n) с помощью функции `input()`. Затем используем цикл `for` для перебора каждой строки от 1 до n.
2. Внутри цикла мы считываем строку с помощью функции `input()`.
3. Затем мы считываем количество поисковых фраз (k) с помощью функции `input()`. Затем используем цикл `for` для перебора каждой поисковой фразы от 1 до k.
4. Внутри цикла мы считываем поисковую фразу с помощью функции `input()`.
5. Создаем переменную `count` и инициализируем ее нулем. Она будет использоваться для отслеживания количества поисковых фраз, которые были найдены в каждой строке.
6. Используем цикл `for` для перебора каждой поисковой фразы.
7. Внутри цикла мы проверяем, содержится ли текущая поисковая фраза в текущей строке с помощью оператора `in`. Если это так, мы увеличиваем значение переменной `count` на единицу.
8. После завершения внутреннего цикла, мы проверяем, равно ли значение переменной `count` количеству поисковых фраз. Если это так, это означает, что все поисковые фразы были найдены в данной строке, поэтому мы выводим эту строку с помощью функции `print()`.
9. Повторяем шаги 2-8 для всех введенных строк.
10. Завершаем программу.
Доп. материал:
Совет:
Для решения данной задачи можно использовать списки для хранения введенных строк и поисковых фраз. Вы можете использовать метод `.append()` для добавления элементов в список и метод `.count()` для подсчета количества поисковых фраз, которые встречаются в каждой строке. Также не забудьте использовать цикл `for` для перебора элементов в списке. Такой подход позволит вам более эффективно решить данную задачу.
Дополнительное упражнение:
Напишите программу, которая будет находить и выводить строки, которые содержат все заданные поисковые фразы. Проверьте программу, используя следующие входные данные: