В этом модуле мы углубимся в работу со строками в Python. Вы научитесь изменять содержимое строк, используя методы замены и очистки.
Основные темы урока:
1. Метод .replace(): Позволяет заменять части строки на другие значения. Мы разберем как простую замену, так и ограничение количества замен (count).
2. Методы очистки (.strip(), .lstrip(), .rstrip()): Эти методы незаменимы при обработке пользовательского ввода или чтении файлов. Они удаляют пробелы и указанные символы с краев строки.
Обратите внимание: строки в Python — это неизменяемые объекты. Методы возвращают новую строку, а не меняют исходную "на месте". Это частая ошибка новичков, которой посвящен отдельный блок заданий.
- Модуль 1: Основы синтаксиса Python
- Модуль 2: Переменные и типы данных
- Модуль 3: Операторы
- Арифметические операторы (+, -, *, /).
- Целочисленное деление и остаток (// и %).
- Возведение в степень (**).
- Операторы сравнения.
- Логические операторы (and, or, not).
- Операторы присваивания (=, +=, -=).
- Операторы принадлежности (in, not in).
- Операторы идентичности (is, is not).
- Битовые операторы.
- Тернарный оператор.
- Модуль 4: Ввод и вывод данных
- Модуль 5: Условные конструкции
- Модуль 6: Циклы
- Модуль 7: Строки
- Модуль 8: Списки
- Модуль 9: Кортежи
- Модуль 10: Словари
- Модуль 11: Множества
- Модуль 12: Функции
- Модуль 13: Встроенные функции
- Модуль 14: Работа с файлами
- Модуль 15: Обработка исключений
- Модуль 16: Модули и пакеты
- Модуль 17: ООП - Основы
- Модуль 18: ООП - Продвинутый уровень
- Модуль 19: Декораторы
- Модуль 20: Генераторы и итераторы
- Модуль 21: Регулярные выражения
- Модуль 22: Дата и время
- Модуль 23: Математические операции
- Модуль 24: Работа с сетью
- Модуль 25: Асинхронное программирование
- Модуль 26: Многопоточность
- Модуль 27: Тестирование
- Модуль 28: Базы данных
- Модуль 29: Алгоритмы и структуры данных
- Модуль 30: Продвинутые возможности
1. Базовая замена символов
Проанализируйте код. Метод replace ищет все вхождения первого аргумента и заменяет их на второй аргумент. Что будет выведено на экран?
phone = "8-100-555-35-35"
formatted = phone.replace("-", " ")
print(formatted)2. Исправление опечаток
В тексте допущена ошибка: слово "Python" написано с маленькой буквы. Используйте метод replace, чтобы исправить это во всей строке.
text = "I learn python. python is great!"
# Замените 'python' на 'Python'
correct_text = text.input1S(input2S, input3S)
print(correct_text)3. Ограничение количества замен
Метод replace принимает необязательный третий аргумент — count (количество замен). Напишите точный вывод данного кода.
sequence = "1 0 1 0 1 0"
# Заменяем '1' на 'X', но только 2 раза
result = sequence.replace("1", "X", 2)
print(result)4. Семейство методов strip
В Python есть три метода для удаления пробелов (и других символов) с краев строки. Сопоставьте метод с его действием.
.rstrip().lstrip().strip()5. Ловушка неизменяемости строк
Начинающий программист хотел удалить лишние пробелы вокруг имени пользователя, но код не работает так, как ожидалось. Вывод по-прежнему содержит пробелы. Найдите и исправьте ошибку в строке 2.
user_name = " admin "user_name.strip()print(f"User: '{user_name}'")6. Strip с аргументами
Метод strip("...") удаляет не саму подстроку, а любые из указанных символов с краев, пока не встретит символ, которого нет в списке. Что выведет код?
url = "www.yandex.ru/"
# Удаляем 'w', '.' и '/' с краев
clean_url = url.strip("w./")
print(clean_url)7. Очистка данных о цене
Мы получили грязные данные о цене: " $1,299.00 \n". Нам нужно превратить это в число 1299.0. Расставьте методы в правильном порядке.
raw_price = " $1,299.00 \n"
clean_price = float(
raw_price
.input1S() # Удаляем пробелы
.input2S("$", "") # Удаляем знак валюты
.input3S(",", "") # Удаляем разделитель тысяч
)
print(clean_price)8. Создание "slug" из заголовка
Соберите код, который преобразует заголовок статьи в URL-совместимый формат (slug).
Пример: из " Hello World! " должно получиться "hello-world".
Порядок действий: очистить края -> привести к нижнему регистру -> заменить пробелы на дефисы -> удалить восклицательный знак.
print(slug)slug = title.strip()title = " Hello World! " .replace(" ", "-") .lower() .replace("!", "")