📝 Практические задания

⚡ Задания в двух словах

  • Тестовые вопросы на условия, математические функции и модули.
  • Практическая работа: возрастная категория.
  • Дополнительные задачи: сортировка чисел, високосный год, математическое округление, гипотенуза.

🧩 Тестовые вопросы

Перед программированием проверьте понимание теории. Ответы и объяснения — в разделе Решения.

Вопрос 1. Что выведет код?

x = 10
if x > 15:
    print("x больше 15")
elif x > 5:
    print("x больше 5, но меньше или равно 15")
else:
    print("x меньше или равно 5")

Варианты: a) x больше 15; b) x больше 5, но меньше или равно 15; c) x меньше или равно 5; d) ошибка.

Вопрос 2. Что выведет код?

x = 8
if x > 5:
    print("x больше 5")
if x < 10:
    print("x меньше 10")

Варианты: a) только «x больше 5»; b) только «x меньше 10»; c) обе строки; d) ничего.

Вопрос 3. Что выведет код?

x = 7
result = "Чётное" if x % 2 == 0 else "Нечётное"
print(result)

Варианты: a) Чётное; b) Нечётное; c) ошибка; d) ничего.

Вопрос 4. Что выведет код?

value = 10
match value:
    case int():
        print("Это целое число")
    case str():
        print("Это строка")
    case _:
        print("Неизвестный тип данных")

Варианты: a) Это строка; b) Это целое число; c) Неизвестный тип данных; d) ошибка.

Вопрос 5. Что выведет код?

print(round(3.5))

Варианты: a) 3; b) 4; c) 2; d) ошибка.

Вопрос 6. Что выведет код?

print(0.1 + 0.2 == 0.3)

Варианты: a) True; b) False; c) ошибка; d) ничего.

Вопрос 7. Какой результат у выражения?

from decimal import Decimal
print(Decimal('0.1') + Decimal('0.2') == Decimal('0.3'))

Варианты: a) True; b) False; c) ошибка; d) ничего.

🏋️ Практическая работа

Цель тренировки: закрепить работу с условиями, математическими функциями и модулями.

📂 Подготовка проекта

  1. Создайте папку python-fundamentals-practice/lesson-11/.
  2. Откройте её в VS Code.
  3. Для каждого задания создавайте отдельный файл: task_01_age.py, task_02_sort.py и т.д.

Задание 1. Возрастная категория

Условие: напишите программу, которая запрашивает возраст пользователя и выводит категорию:

  • Младенец: до 2 лет включительно.
  • Ребёнок: от 3 до 12 лет включительно.
  • Подросток: от 13 до 17 лет включительно.
  • Взрослый: от 18 лет и старше.

Пример:

Введите ваш возраст: 15
Категория: Подросток.

Подсказка: используйте цепочку if-elif-else и проверяйте верхние границы категорий.

Задание 2. Сортировка трёх чисел

Условие: запросите у пользователя три числа и выведите их в порядке возрастания, разделённые запятой.

Пример:

Введите первое число: 7
Введите второе число: 2
Введите третье число: 5
2, 5, 7

Подсказка: попробуйте решить вручную через сравнения, а затем сравните с sorted().

Задание 3. Високосный год

Условие: запросите год и определите, является ли он високосным. Год високосный, если делится на 4, но не на 100, либо делится на 400.

Пример:

Введите год: 2024
2024 год является високосным.

Подсказка: объедините условия через and, or и скобки.

Задание 4. Математическое округление

Условие: напишите программу, которая округляет вещественное число по правилам школьной математики, а не банковского округления. Программа должна корректно работать с положительными и отрицательными числами.

Пример:

Введите вещественное число: 2.5
Округленное значение: 3

Введите вещественное число: -2.5
Округленное значение: -3

Подсказка: используйте math.floor и math.ceil в зависимости от знака числа.

Задание 5. Гипотенуза треугольника

Условие: запросите длины двух катетов прямоугольного треугольника и вычислите длину гипотенузы.

Пример:

Введите длину первого катета: 3
Введите длину второго катета: 4
Длина гипотенузы: 5.0

Подсказка: используйте math.sqrt() или возведение в степень ** 0.5.

Проверка понимания

Выберите один вариант ответа. После клика правильный ответ подсветится зелёным.

Вопрос 1

Как лучше использовать summary-урок?

Вопрос 2

Что показывает хороший результат после повторения блока?

Вопрос 3

Какой вопрос стоит задать себе после каждого ответа?

Вопрос 4

Какой стиль имён переменных обычно рекомендует PEP 8?

Вопрос 5

Зачем использовать f-strings в современном Python?

Вопрос 6

Когда полезен ранний возврат из функции?

Вопрос 7

Что делает аннотация типа в Python?

Вопрос 8

Как лучше обрабатывать ожидаемую ошибку преобразования?