Задачи на строки в Python для тренировки

Зачем решать задачи на строки в Python

Работа со строками — это одна из основ программирования на Python. Строки используются повсеместно: от обработки текстовых данных до создания веб-приложений. Задачи на строки помогают развить навыки работы с текстом, научиться манипулировать данными и улучшить логическое мышление.

Основные операции со строками

Перед тем как перейти к задачам, давайте вспомним основные операции, которые можно выполнять со строками в Python:

  • Конкатенация — объединение строк с помощью оператора +.
  • Повторение — умножение строки на число с помощью оператора *.
  • Извлечение подстрок — использование срезов для получения части строки.
  • Методы строк — использование встроенных методов, таких как upper(), lower(), replace() и многих других.

Задача 1: Перевернуть строку

Напишите функцию, которая принимает строку и возвращает её в перевёрнутом виде.

def reverse_string(s):
    return s[::-1]
Примечание

Эта задача поможет вам освоить срезы в Python.

Задача 2: Проверка на палиндром

Создайте функцию, которая проверяет, является ли строка палиндромом (читается одинаково слева направо и справа налево).

def is_palindrome(s):
    return s == s[::-1]
Важно

Не забудьте удалить пробелы и привести строку к одному регистру перед проверкой.

Задача 3: Подсчёт гласных

Напишите функцию, которая подсчитывает количество гласных букв в строке.

def count_vowels(s):
    vowels = 'aeiouAEIOU'
    return sum(1 for char in s if char in vowels)
Совет

Используйте генератор списков для более лаконичного кода.

Задача 4: Удаление дубликатов

Создайте функцию, которая удаляет все дубликаты из строки, сохраняя порядок символов.

def remove_duplicates(s):
    seen = set()
    result = []
    for char in s:
        if char not in seen:
            seen.add(char)
            result.append(char)
    return ''.join(result)
Ключевое

Эта задача поможет вам понять, как работать с множествами и списками.

Задача 5: Смена регистра

Напишите функцию, которая меняет регистр каждой буквы в строке на противоположный.

def swap_case(s):
    return s.swapcase()
Пример

Функция swapcase() — это встроенный метод строк, который делает эту задачу очень простой.

Задача 6: Подсчёт частоты символов

Создайте функцию, которая возвращает словарь с частотой каждого символа в строке.

def char_frequency(s):
    freq = {}
    for char in s:
        freq[char] = freq.get(char, 0) + 1
    return freq
Примечание

Эта задача поможет вам освоить работу со словарями в Python.

Задача 7: Замена символов

Напишите функцию, которая заменяет все пробелы в строке на символ подчеркивания.

def replace_spaces(s):
    return s.replace(' ', '_')
Предупреждение

Обратите внимание, что метод replace() возвращает новую строку, а не изменяет исходную.

Задача 8: Сортировка слов в строке

Создайте функцию, которая принимает строку и возвращает строку, содержащую слова, отсортированные по длине.

def sort_words_by_length(s):
    words = s.split()
    return ' '.join(sorted(words, key=len))
Совет по оптимизации

Вы можете использовать параметр reverse=True, чтобы отсортировать слова по убыванию длины.

Задача 9: Удаление пробелов

Напишите функцию, которая удаляет все пробелы из строки.

def remove_spaces(s):
    return ''.join(s.split())
Ключевое

Эта задача поможет вам понять, как использовать методы split() и join() вместе.

Задача 10: Форматирование строки

Создайте функцию, которая принимает имя и возраст, а затем возвращает строку в формате: "Имя: {имя}, Возраст: {возраст}".

def format_string(name, age):
    return f"Имя: {name}, Возраст: {age}"
Пример

Использование f-строк делает форматирование строк очень удобным и читаемым.

Заключение

Решение задач на строки в Python — это отличный способ улучшить свои навыки программирования. Эти задачи помогут вам освоить основные операции со строками и научиться применять их на практике. Не бойтесь экспериментировать и пробовать новые подходы к решению задач!