💻 Практические примеры

⚡ Минимальный рабочий пример

data = "1 2 3 4 5"
numbers = [int(n) for n in data.split()]
print(f"Сумма: {sum(numbers)}")

Этот код читает строку, разбивает её на слова, превращает каждое слово в число и выводит сумму.

Пример 1: сумма чисел из строки

Принимаем строку с числами через пробел и выводим сумму. Для автоматической проверки используем фиксированную строку; в интерактивной версии замените её на input().

📄 examples/sum_numbers.py
data = "1 2 3 4 5"
numbers = [int(x) for x in data.split()]
print(f"Сумма чисел: {sum(numbers)}")

Логика: split() разбивает строку по пробелам, int() превращает каждую часть в число, sum() считает сумму.

Пример 2: обратный список

Создаём список чисел из строки и выводим его в обратном порядке.

📄 examples/reverse_list.py
data = "1 2 3 4 5"
numbers = [int(x) for x in data.split()]
reversed_numbers = numbers[::-1]
print(f"Обратный список: {reversed_numbers}")

Логика: срез [::-1] создаёт новый список с элементами в обратном порядке.

Пример 3: перестановка соседних элементов

Меняем местами элементы с индексами 0-1, 2-3 и т.д.

📄 examples/swap_adjacent.py
numbers = [1, 2, 3, 4, 5]
for i in range(0, len(numbers) - 1, 2):
    numbers[i], numbers[i + 1] = numbers[i + 1], numbers[i]
print(numbers)

Пример 4: числа и слова

Обрабатываем строку, содержащую слова и целые числа. Числа остаются числами, слова начинаются с заглавной буквы.

📄 examples/numbers_and_words.py
text = "apple 42 banana 3 100 orange"
result = []

for item in text.split():
    if item.isdigit():
        result.append(int(item))
    else:
        result.append(item.title())

print(f"Изначальная строка: {text}")
print(f"Результат: {result}")

Пример 5: кодирование строки (RLE)

Каждая последовательность одинаковых символов заменяется на символ и количество повторений.

📄 examples/rle_encode.py
text = "aaaabbc"
encoded = ""
count = 1

for i in range(1, len(text)):
    if text[i] == text[i - 1]:
        count += 1
    else:
        encoded += text[i - 1] + str(count)
        count = 1

encoded += text[-1] + str(count)
print(f"Закодированная строка: {encoded}")

Пример 6: звёздочки вместо цифр

Перебираем символы и заменяем цифры на *.

📄 examples/stars_instead_digits.py
text = "My number is 123-456-789"
result = "".join("*" if char.isdigit() else char for char in text)
print(f"Строка: {text}")
print(f"Результат: {result}")
Проверить по документации: f-strings, генераторные выражения, списковые включения, срез [::-1] и множественное присваивание выходят за рамки исходного занятия.

Как запустить в VS Code

  1. Создайте файл example.py в папке урока.
  2. Скопируйте код из примера выше.
  3. Откройте терминал в VS Code (Ctrl + `).
  4. Активируйте виртуальное окружение: venv\Scripts\activate (Windows) или source venv/bin/activate (Mac/Linux).
  5. Запустите: python example.py