📋 Формулировка задания
Исходное задание из LMS:
- Звёздочки вместо чисел. Напишите программу, которая заменяет все цифры в строке на звёздочки
*. - Количество символов. Напишите программу, которая подсчитывает количество вхождений всех символов в строке. Выведите только символы, встречающиеся более 1 раза (игнорируя регистр), с указанием их количества. Выводите повторяющиеся символы только один раз.
- Увеличение чисел. Напишите программу, которая заменяет все числа в строке на их эквивалент, умноженный на 10.
🔧 Шаг 0. Подготовка окружения
Перед началом работы настройте окружение. Эти шаги одинаковы для всех уроков курса.
📁 Структура репозитория: мы используем один репозиторий для всех практических работ.
1
Создайте (или откройте) рабочую папку
В VS Code нажмите Ctrl+K Ctrl+O → выберите или создайте папку python-fundamentals-practice.
2
Создайте папку для текущего урока
mkdir -p lesson-23
cd lesson-23
3
Создайте виртуальное окружение (venv)
# Windows
python -m venv venv
venv\Scripts\activate
# Mac / Linux
python3 -m venv venv
source venv/bin/activate
4
Создайте ветку для задания
cd ..
git checkout -b lesson/23-summary-session-6
git push -u origin lesson/23-summary-session-6
🛠️ Шаги выполнения заданий
1
Создайте файлы
hw_01_stars.py
hw_02_char_count.py
hw_03_multiply_numbers.py
2
Решите задачу «Звёздочки вместо чисел»
📄 hw_01_stars.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}")
3
Решите задачу «Количество символов»
📄 hw_02_char_count.py
text = "Programming in python"
lower_text = text.lower()
counts = {}
for char in lower_text:
counts[char] = counts.get(char, 0) + 1
print(f"Строка: {text}")
for char, count in counts.items():
if count > 1:
print(f"Символ '{char}' встречается {count} раз(а)")
4
Решите задачу «Увеличение чисел»
📄 hw_03_multiply_numbers.py
import re
text = "I have 5 apples and 10 oranges, price is 0.5 each. Card number is ....3672."
result = re.sub(r"\b\d+(?:\.\d+)?\b", lambda m: str(float(m.group()) * 10), text)
print(result)
🧪 Как проверить решение
- Активируйте venv.
- Запустите каждый файл:
python hw_01_stars.pyи т.д. - Убедитесь, что вывод совпадает с примером из LMS.
💾 Сохранение работы
git add lesson-23/
git commit -m "lesson-23: summary session 6"
git push
💡 Советы и типичные ошибки
- Убедитесь, что venv активирован перед запуском.
- Не коммитьте папку
venv/. - Помните, что строки неизменяемы: результат метода нужно сохранять.
- Для безопасного поиска используйте
find(), если подстрока может отсутствовать.