Задача курса

pandas .str.strip, lower и replace: очистка адресов

Курс «NumPy и pandas: практический тренажёр» · урок «Текстовые столбцы: нормализация и разбор через .str»

Потренируйтесь очищать строки в Series цепочкой векторных методов pandas.

Условие

Нормализация адресов: strip, lower и replace без циклов

Что уже дано

Проверяющая система запускает вашу программу и подаёт данные через stdin. Никаких заранее созданных переменных нет — вы читаете всё сами.

Что нужно сделать

Напишите программу, которая нормализует таблицу адресов:

  1. Читает из stdin целое число n — количество строк.
  2. Читает следующие n строк; каждая содержит один токен — «грязный» адрес (строка, которая может начинаться и заканчиваться пробелами, содержать буквы в произвольном регистре и дефисы вместо пробелов между словами). Токен считывается через input() — пробелы внутри токена сохраняются.
  3. Создаёт pd.Series с именем raw из прочитанных строк.
  4. Создаёт pd.Series с именем step1 — результат .str.strip() на raw.
  5. Создаёт pd.Series с именем step2 — результат .str.lower() на step1.
  6. Создаёт pd.Series с именем step3 — результат .str.replace('-', ' ', regex=False) на step2.
  7. Выводит в stdout ровно три строки:
  • Строка 1: значения step1 через | (пробел-вертикальная черта-пробел).
  • Строка 2: значения step2 через |.
  • Строка 3: значения step3 через |.

Запрещено использовать Python-циклы для шагов 4–7.

Ввод и вывод

Программа читает stdin и пишет в stdout.

Формат ввода

Первая строка — целое число n (1 ≤ n ≤ 10).
Следующие n строк — адреса; каждый адрес — одна строка, возможно с пробелами по краям и дефисами внутри.

Формат вывода

Ровно три строки. Значения внутри строки разделяются |.

Примеры

Пример 1

Ввод
3
  Ленина-Улица 
  САДОВОЕ-Кольцо  
 Арбат-ПЛОЩАДЬ 
Ожидаемый результат
Ленина-Улица | САДОВОЕ-Кольцо | Арбат-ПЛОЩАДЬ
ленина-улица | садовое-кольцо | арбат-площадь
ленина улица | садовое кольцо | арбат площадь

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

РешениеPython
Без регистрации · результат не сохраняется