Практика 9
- Задание. Множества.
Аня и Наташа играют в города. Они очень любят эту игру, знают много городов и к концу игры забывают, какие уже называли. На вас возложена почётная задача вести запись игры и напоминать девочкам, если какой-то город уже был назван.
Формат ввода
В первой строке записано число названных городов N. Затем идут N строк с названиями городов и ещё одна строка с новым только что названым городом.
Формат вывода
Слово OK, если такого города ещё не было названо, и TRY ANOTHER, если город уже был назван.
Пример
Ввод | Вывод |
3МоскваНью-ЙоркЛондонПариж | OK |
- Задание. Строки.
Пользователь (или несколько пользователей за одним компьютером) вводит слова. Начиная со второго введённого слова, программа проверяет, совпадает ли первая буква свежевведённого слова с последней буквой предыдущего. Если да, то программа работает дальше (считывает очередное слово). Если нет — выводит последнее на этот момент введённое слово и завершает работу.
Формат ввода
Вводятся несколько строк подряд.
Формат вывода
Выводится одна строка.
Пример
Ввод | Вывод |
новгороддублинновгороддублинтула | тула |
- Задание. Списки.
Напишите программу, которая удаляет из программы на языке Python комментарии, а также символы пустого пространства на конце строк. Считайте, что символ решётки всегда означает начало комментария (проверьте себя: в каком случае это не так?).
Формат ввода
На первой строке вводится символ решётки и сразу же натуральное число N — количество строк в программе, не считая эту первую.
Далее следует N строк.
Формат вывода
Нужно вывести те же строки, но удалить комментарии и символы пустого пространства в конце строк. Пустую строку вместо первой строки ввода выводить не надо.
Пример
Ввод | Вывод |
#2name = input() print(‘Привет,’, name) # здороваемся | name = input()print(‘Привет,’, name) |
- Задание. Словари.
Вася решил записать телефоны всех своих друзей, чтобы потом автоматизировать поиск нужного номера.
У каждого из Васиных друзей может быть один или больше номеров телефонов. Напишите программу, которая поможет Васе находить все номера определённого друга.
Формат ввода
В первой строке задано одно целое число N (1 ≤ N ≤ 1000) — количество номеров телефонов, информацию о которых Вася решил сохранить в телефонной книге. В следующих N строках заданы телефоны и имена их владельцев через пробел. Телефон — это несколько цифр, записанных подряд, имя же состоит только из русских букв. Записи не повторяются.
В следующей строке записано целое число M (1 ≤ M ≤ 100) — количество запросов от Васи. В следующих M строках записаны сами запросы, по одному на строке. Каждый запрос — это имя какого-то друга, чьи телефоны Вася хочет сейчас найти, записанное в точности так, как в телефонной книге.
Формат вывода
Для каждого запроса от Васи выведите в отдельной строке все телефоны, принадлежащие человеку с этим именем. Телефоны одного человека выводите в одну строку через пробел в том порядке, в котором они были заданы во входных данных. Количество строк в ответе должно быть равно количеству запросов Васи.
Если в телефонной книге нет телефонов человека с таким именем, выведите в соответствующей строке «Нет в телефонной книге» (без кавычек).
Пример
Ввод | Вывод |
33129102 Ваня79007619273 Коля79120123456 Ваня3КоляВаняОлег | 790076192733129102 79120123456Нет в телефонной книге |
Задание 5. Кортежи.
Напишите программу, которая определяет, является ли данное число произведением двух чисел из данного набора, и выводит «ДА» или «НЕТ» в зависимости от этого. Если число в наборе такое одно, само на себя умножиться оно не может, т. е. два множителя должны иметь разные номера в наборе.
Формат ввода
На первой строке вводится количество чисел в наборе.
Далее идут целые числа, составляющие набор (могут повторяться).
Затем следует целое число, которое является или не является произведением двух каких-то чисел из набора.
Формат вывода
ДА или НЕТ
Пример.