Fox7777
@Fox7777
Люблю python

Как написать эту программу?

Составьте географический словарь.
В первой строчке записано целое число – количество стран. В
следующих N строчках записана информация о странах. Каждая строчка
состоит из названия страны и разделённых пробелом названий городов
этой страны, перечисленных через запятую.
В следующей строке записан запрос — это название города. Для
каждого из запроса выведите название страны, в котором находится
данный город. Если названия города нет в словаре, оставьте строку
ответа пустой.

Хотя бы блок схему сделайте, ничерта не понимаю как это делать((
  • Вопрос задан
  • 210 просмотров
Пригласить эксперта
Ответы на вопрос 2
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
Vindicar
@Vindicar
RTFM!
Ну тогда...
str.partition() - для разделения строки на две части по первому указанному разделителю. Пригодится для отделения страны от списка городов.
str.split() - для разделения строки на неизвестное заранее число частей. Пригодится для разделения списка городов на отдельные названия.
str.strip() - для удаления пробелов. Пропусти названия городов через этот метод, чтобы убрать лишние пробелы по краям.
open() - для открытия файла.
file.readline() - для чтения строки из файла.

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

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы