1. Главная
  2. Библиотека
  3. Информационные технологии
  4. С некоторого сайта студент скопировал таблицу со списко...
Разбор задачи

С некоторого сайта студент скопировал таблицу со списком крупнейших городов мира и вставил её в текстовый файл (towns.txt). Однако, что-то пошло не так и все таблица вставилась в виде одной строки. Необходимо помочь студенту и преобразовать строку в

  • Предмет: Информационные технологии
  • Автор: Кэмп
  • #Алгоритмы и структуры данных
  • #Языки программирования
С некоторого сайта студент скопировал таблицу со списком крупнейших городов мира и вставил её в текстовый файл (towns.txt). Однако, что-то пошло не так и все таблица вставилась в виде одной строки. Необходимо помочь студенту и преобразовать строку в

Условие:

С некоторого сайта студент скопировал таблицу со списком крупнейших городов мира и вставил её в текстовый файл (towns.txt). Однако, что-то пошло не так и все таблица вставилась в виде одной строки. Необходимо помочь студенту и преобразовать строку в таблицу. А, так как ситуация может повториться, процесс следует автоматизировать, т.е. написать программу. В результате работы программы должен получиться файл, в котором информация о каждом городе располагается на отдельной строке. В качестве разделителя между столбцами использовать символ табуляции.
Выведите на экран информацию по городам из одной страны. Определите сколько городов России входит в этот список. Сравните его с официальными данными и ответьте на вопрос: какого города нет в списке.

Входные данные:
Файл towns.txt
Пример содержимого файла:
№ Город Численность (чел.) Страна Континент 1. Чунцин 32 054 159 Китай Азия 2. Шанхай 26 875 500 Китай Азия 3. Пекин 21 893 095 Китай Азия 4. Чэнду 20 937 757 Китай Азия 5. Гуанчжоу 18 676 605 Китай Азия 6. Шэньчжэнь 17 633 800 Китай Азия
Выходные данные:
1. Файл towns_out.txt
Пример содержимого выходного файла:
№ Город Численность (чел.) Страна Континент
1. Чунцин 32 054 159 Китай Азия
2. Шанхай 26 875 500 Китай Азия
3. Пекин 21 893 095 Китай Азия
4. Чэнду 20 937 757 Китай Азия
5. Гуанчжоу 18 676 605 Китай Азия
6. Шэньчжэнь 17 633 800 Китай Азия

Решение:

Для решения задачи нужно выполнить несколько шагов.

1. Чтение данных из файла towns.txt
Файл содержит одну строку, где элементы таблицы идут подряд. Нужно разделить их так, чтобы каждая строка таблицы начиналась с номера (например, "1.", "2." и т.д.), а колонки разделялись табуляцией.

2. Обработка специальных случаев
В списке lst_double есть названия стран, континентов и городов из нескольких слов, разделённых пробелами. Если просто разбивать строку по пробелам, такие названия разорвутся. Поэтому нужно сначала защитить их, заменив пробелы внутри них на временный символ (например, `_...

Внутри — полный разбор, аргументация, алгоритм решения, частые ошибки и как отвечать на каверзные вопросы препода, если спросит

Попробуй решить по шагам

Попробуй один шаг и продолжи в режиме обучения или посмотри готовое решение

Какой подход используется для корректной обработки названий городов, стран или континентов, состоящих из нескольких слов, при преобразовании одной строки в табличный формат?

Что нужно знать по теме:

Что нужно знать по теме

Алгоритм решения

Топ 3 ошибок

Что спросит препод

Выбери предмет