📋 Формулировка задания
Исходное задание из LMS:
- Звёздочки вместо чисел. Напишите программу, которая заменяет все цифры в строке на звёздочки
*.text = "My number is 123-456-789" # Пример вывода: Строка: My number is 123-456-789 Результат: My number is ***-***-*** - Количество символов. Напишите программу, которая подсчитывает количество вхождений всех символов в строке. Нужно вывести только символы, которые встречаются более 1 раза (игнорируя регистр), с указанием их количества. Выводите повторяющиеся символы только один раз.
text = "Programming in python" # Пример вывода: Строка: Programming in python Символ 'p' встречается 2 раз(а) Символ 'r' встречается 2 раз(а) Символ 'o' встречается 2 раз(а) Символ 'g' встречается 2 раз(а) Символ 'm' встречается 2 раз(а) Символ 'i' встречается 2 раз(а) Символ 'n' встречается 3 раз(а) Символ ' ' встречается 2 раз(а) - Увеличение чисел. Напишите программу, которая заменяет все числа в строке на их эквивалент, умноженный на 10.
text = "I have 5 apples and 10 oranges, price is 0.5 each. Card number is ....3672." # Пример вывода: I have 50.0 apples and 100.0 oranges, price is 5.0 each. Card number is ....3672.
🔧 Шаг 0. Подготовка окружения
Перед началом работы настройте окружение. Эти шаги одинаковы для всех уроков курса.
.gitignore, единая история, легко переключаться между уроками.
Создайте (или откройте) рабочую папку
В VS Code нажмите Ctrl+K Ctrl+O → выберите или создайте папку python-fundamentals-practice. Это будет корень вашего учебного репозитория.
# Или в терминале VS Code (Ctrl + `):
mkdir python-fundamentals-practice
cd python-fundamentals-practice
Инициализируйте Git-репозиторий (один раз)
Если папка ещё не является git-репозиторием:
git init
echo "# Python Fundamentals — Практические работы" > README.md
echo "venv/" > .gitignore
echo "__pycache__/" >> .gitignore
echo "*.pyc" >> .gitignore
echo ".env" >> .gitignore
git add README.md .gitignore
git commit -m "init: базовая структура репозитория"
Создайте папку для текущего урока
mkdir -p lesson-20
cd lesson-20
Создайте виртуальное окружение (venv)
# Windows
python -m venv venv
venv\Scripts\activate
# Mac / Linux
python3 -m venv venv
source venv/bin/activate
После активации в начале строки терминала появится (venv). Все дальнейшие команды выполняйте внутри venv.
Создайте ветку для задания
cd ..
git checkout -b lesson/20-string-methods
git push -u origin lesson/20-string-methods
Именование веток: lesson/XX-краткое-название.
🛠️ Шаги выполнения заданий
Создайте файлы для заданий
task_01_stars.py
task_02_char_count.py
task_03_multiply_numbers.py
Решите задание 1: звёздочки вместо чисел
Переберите символы строки и замените цифры на *.
text = "My number is 123-456-789"
result = ""
for char in text:
if char.isdigit():
result += "*"
else:
result += char
print(f"Строка: {text}")
print(f"Результат: {result}")
Решите задание 2: количество символов
Приведите строку к нижнему регистру и выведите повторяющиеся символы один раз.
text = "Programming in python"
lowercase_text = text.lower()
seen = ""
print(f"Строка: {text}")
for char in lowercase_text:
count = lowercase_text.count(char)
if count >= 2 and char not in seen:
print(f"Символ '{char}' встречается {count} раз(а)")
seen += char
Решите задание 3: увеличение чисел
Разбейте строку на слова, умножьте числа на 10 и соберите строку обратно.
text = "I have 5 apples and 10 oranges, price is 0.5 each. Card number is ....3672."
words = text.split()
for i in range(len(words)):
word = words[i]
if word.isdigit():
words[i] = str(float(word) * 10)
elif word.count(".") == 1 and word.replace(".", "").isdigit():
words[i] = str(float(word) * 10)
result = " ".join(words)
print(result)
Проверьте каждый файл в VS Code
python task_01_stars.py
python task_02_char_count.py
python task_03_multiply_numbers.py
Проверьте граничные случаи: пустая строка, строка без цифр, строка без повторов, числа с несколькими точками.
🧪 Как проверить решение
- Активируйте venv:
venv\Scripts\activate(Windows) илиsource venv/bin/activate(Mac/Linux). - Запустите каждый файл:
python task_XX_....py. - Убедитесь, что нет ошибок и вывод соответствует условию.
- Проверьте граничные случаи: пустая строка, строка без цифр, строка без повторяющихся символов, дробные числа.
🐛 Отладка в VS Code
- Поставьте точку останова кликом слева от номера строки.
- Нажмите F5 или выберите «Run → Start Debugging».
- Используйте панель Debug (переменные, стек вызовов, консоль).
- Проверьте Terminal на наличие traceback — Python показывает номер строки с ошибкой.
- Если метод не меняет строку, проверьте, присвоен ли результат новой переменной.
💾 Сохранение работы
git add lesson-20/
git commit -m "lesson-20: string methods"
git push
💡 Советы и типичные ошибки
- Убедитесь, что venv активирован перед запуском.
- Не коммитьте папку
venv/— она указана в.gitignore. - Помните, что строки неизменяемы: результат метода нужно сохранять.
- Для безопасного поиска используйте
find(), если подстрока может отсутствовать. - Не путайте
split()иsplit(" "): первый обрабатывает любые пробелы, второй — только один.
float() выходят за рамки исходного занятия, но являются стандартными возможностями Python.