📋 Формулировка задания
Исходное задание из LMS:
-
Сортировка чисел. Напишите программу, которая запрашивает у пользователя три числа и выводит их в порядке возрастания, разделённые запятой.
Введите первое число: 5 Введите второе число: 2 Введите третье число: 7 Числа в порядке возрастания: 2, 5, 7 -
Високосный год. Напишите программу, которая запрашивает у пользователя год и проверяет, является ли он високосным. Год является високосным, если он делится на 4 без остатка, и в то же время не делится на 100 без остатка. При этом если год делится на 400 без остатка, он тоже является високосным.
Введите год: 2024 Год является високосным. Введите год: 1900 Год не является високосным.
🔧 Шаг 0. Подготовка окружения
Перед началом работы настройте рабочую папку для текущего урока.
1
Создайте папку для урока
# В терминале VS Code (Ctrl + `):
mkdir -p python-fundamentals-practice/lesson-08
cd python-fundamentals-practice/lesson-08
2
Создайте виртуальное окружение (опционально)
# Windows
python -m venv venv
venv\Scripts\activate
# Mac / Linux
python3 -m venv venv
source venv/bin/activate
3
Создайте ветку для задания
# В корне репозитория
git checkout -b lesson/08-branching-statements
# Отправьте ветку на удалённый репозиторий, если он настроен
git push -u origin lesson/08-branching-statements
🛠️ Шаги выполнения задания
1
Задание 1. Сортировка трёх чисел
Создайте файл homework_sort.py и реализуйте ручную сортировку трёх чисел с помощью if и обмена значений.
# homework_sort.py
first = int(input("Введите первое число: "))
second = int(input("Введите второе число: "))
third = int(input("Введите третье число: "))
# Сначала находим максимальное число и ставим его на третью позицию
if first > second and first > third:
first, third = third, first
elif second > first and second > third:
second, third = third, second
# Теперь первые два числа осталось отсортировать между собой
if first > second:
first, second = second, first
print("Числа в порядке возрастания: ", end="")
print(first, second, third, sep=", ")
Проверка в VS Code:
- Сохраните файл.
- В терминале запустите:
python homework_sort.py. - Введите три числа и убедитесь, что вывод отсортирован.
Проверить по документации: в Python есть встроенная функция
sorted(), которая сортирует значения автоматически. Она удобна в реальных проектах, но в рамках этого задания цель — потренировать логику ветвлений.
2
Задание 2. Високосный год
Создайте файл homework_leap_year.py и проверьте условие високосности.
# homework_leap_year.py
year = int(input("Введите год: "))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print("Год является високосным.")
else:
print("Год не является високосным.")
Проверка в VS Code:
- Сохраните файл.
- Запустите:
python homework_leap_year.py. - Проверьте годы: 2024 (високосный), 2000 (високосный), 1900 (не високосный), 2023 (не високосный).
✅ Полное решение
Ниже приведены оба файла целиком.
📄 homework_sort.py
first = int(input("Введите первое число: "))
second = int(input("Введите второе число: "))
third = int(input("Введите третье число: "))
if first > second and first > third:
first, third = third, first
elif second > first and second > third:
second, third = third, second
if first > second:
first, second = second, first
print("Числа в порядке возрастания: ", end="")
print(first, second, third, sep=", ")
📄 homework_leap_year.py
year = int(input("Введите год: "))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print("Год является високосным.")
else:
print("Год не является високосным.")
🧪 Как проверить решение
- Активируйте venv:
venv\Scripts\activate(Windows) илиsource venv/bin/activate(Mac/Linux). - Запустите
python homework_sort.pyи проверьте сортировку для нескольких наборов чисел. - Запустите
python homework_leap_year.pyи проверьте крайние случаи: 1900, 2000, 2024, 2023. - Убедитесь, что программа не падает при вводе целых чисел.
🐛 Отладка в VS Code
Если что-то не работает:
- Поставьте точку останова (breakpoint) на строке с условием.
- Нажмите F5 или выберите «Run → Start Debugging».
- В панели Debug смотрите значения переменных
first,second,thirdилиyear. - Проверьте Terminal на наличие traceback — Python показывает номер строки с ошибкой.
💾 Сохранение работы
# Добавьте файлы урока
git add python-fundamentals-practice/lesson-08/
# Сделайте коммит с осмысленным сообщением
git commit -m "lesson-08: branching statements — sort 3 numbers and leap year"
# Отправьте на GitHub / GitLab
git push
💡 Советы и типичные ошибки
- Не забудьте преобразовать ввод
input()в число черезint(). - В сортировке важен порядок обмена: сначала максимум на последнее место, затем первые два между собой.
- В условии високосности используйте скобки, чтобы явно показать порядок проверок.