📋 Формулировка задания
Исходное задание из LMS:
- Перевёрнутая лестница. Нарисовать перевёрнутую лестницу из звёздочек заданной высоты.
- Проверка текста на ASCII. Проверить, что все символы строки находятся в диапазоне
0..127. - Вывод строки с интервалами. Вывести символы строки через пробел без лишнего пробела в конце.
- Проверка скобок. Проверить правильность расстановки круглых скобок.
- Поиск минимального символа. Найти символ с минимальным Unicode-кодом.
- Чётные и нечётные цифры. Разделить цифры числа на чётные и нечётные группы.
- Строка из диапазона Unicode. Сгенерировать строку из заданного диапазона кодов.
- Длина слов. Разбить строку на слова по пробелам и вывести длину каждого.
- Текст палиндром. Проверить, является ли строка палиндромом, игнорируя не-буквы.
- Все буквы алфавита. Проверить, что строка содержит все буквы английского алфавита.
- Сравнение строк на уникальность. Определить, в какой строке больше уникальных символов.
- Счётчик символов. Посчитать английские буквы, цифры и остальные символы.
- Одинаковый сдвиг. Проверить, совпадают ли сдвиги между соседними символами двух строк.
🔧 Шаг 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: базовая структура репозитория"
Создайте папку для текущего урока
# Структура: lesson-XX/
mkdir -p lesson-17
cd lesson-17
Создайте виртуальное окружение (venv)
# Windows (PowerShell / CMD)
python -m venv venv
venv\Scripts\activate
# Mac / Linux
python3 -m venv venv
source venv/bin/activate
После активации в начале строки терминала появится (venv). Все дальнейшие команды выполняйте внутри venv.
Создайте ветку для задания
# Вернитесь в корень репозитория
cd ..
# Создайте и переключитесь на ветку
git checkout -b lesson/17-practice-4
# Отправьте ветку на удалённый репозиторий (если настроен)
git push -u origin lesson/17-practice-4
Именование веток: lesson/XX-краткое-название. Это позволяет легко находить нужный урок.
🛠️ Шаги выполнения заданий
Теперь, когда окружение готово, приступайте к решению.
Создайте файлы для каждого задания
В папке lesson-17 создайте файлы:
task_01_reverse_stairs.py
task_02_ascii_check.py
task_03_spaced_output.py
task_04_parenthesis_balance.py
task_05_min_char.py
task_06_even_odd_digits.py
task_07_unicode_range.py
task_08_word_lengths.py
task_09_palindrome.py
task_10_pangram.py
task_11_unique_compare.py
task_12_char_counter.py
task_13_same_shift.py
Решите каждое задание
Скопируйте условия из раздела Задания и напишите код. Для проверки используйте примеры ввода/вывода из условий.
Пример структуры файла task_01_reverse_stairs.py:
height = int(input("Введите высоту лестницы: "))
for i in range(height, 0, -1):
print("*" * i)
Проверьте каждый файл в VS Code
Запустите программу и проверьте вывод:
python task_01_reverse_stairs.py
Проверьте граничные случаи: 0, 1, пустая строка, строка только с пробелами, строка с русскими буквами.
✅ Полные решения
Полные решения всех 13 заданий приведены в разделе Решения. Совет: попробуйте выполнить самостоятельно, прежде чем смотреть ответ.
🧪 Как проверить решение
- Активируйте venv:
venv\Scripts\activate(Windows) илиsource venv/bin/activate(Mac/Linux). - Запустите каждый файл:
python task_XX_....py. - Проверьте вывод в терминале — не должно быть ошибок.
- Проверьте граничные случаи: пустой ввод, минимальные и максимальные значения, строки с разными алфавитами.
🐛 Отладка в VS Code
Если что-то не работает:
- Поставьте точку останова (breakpoint) кликом слева от номера строки.
- Нажмите F5 или выберите «Run → Start Debugging».
- Используйте панель Debug (переменные, стек вызовов, консоль).
- Проверьте Terminal на наличие traceback — Python показывает номер строки с ошибкой.
- Если цикл работает не так, проверьте границы
range()и отступы тела цикла.
💾 Сохранение работы
# Добавьте все файлы урока
git add lesson-17/
# Сделайте коммит с осмысленным сообщением
git commit -m "lesson-17: practice 4 - loops, strings, ord/chr"
# Отправьте на GitHub / GitLab
git push
💡 Советы и типичные ошибки
- Убедитесь, что venv активирован перед запуском.
- Не коммитьте папку
venv/— она указана в.gitignore. - Не забывайте преобразовывать ввод в число через
int(), если это требуется. - Помните, что
range(a, b)не включаетb; поэтому для диапазона кодов отstartдоendиспользуйтеrange(start, end + 1). - После ручного разбиения строки на слова не забудьте обработать последнее слово после цикла.
- Строки неизменяемы: для сбора результата используйте новую строку, а не попытку изменить исходную.