Ну тогда...
str.partition() - для разделения строки на две части по первому указанному разделителю. Пригодится для отделения страны от списка городов.
str.split() - для разделения строки на неизвестное заранее число частей. Пригодится для разделения списка городов на отдельные названия.
str.strip() - для удаления пробелов. Пропусти названия городов через этот метод, чтобы убрать лишние пробелы по краям.
open() - для открытия файла.
file.readline() - для чтения строки из файла.
Логика простая.
1. Создаёшь словарь.
1. Открываешь файл.
2. Читаешь строку, преобразуешь в целое - это количество записей.
3. Организуешь цикл с параметром (число повторов равно количеству записей).
4. В цикле читаешь строку, режешь её на две части - страна и города.
5. Режешь список городов на названия.
6. В цикле по названиям убираешь лишние пробелы из названия, и вставляешь в словарь пару: ключ - название города, значение - название страны.
7. Конец обоих циклов (и по городам, и по строкам).
8. Читаешь строку запрос, разбиваешь на части, так же убираешь пробелы.
9. Для каждого элемента запроса проверяешь, есть ли в словаре такой ключ оператором in. Если есть, выводишь значение по этому ключу.
Всё.