Перейти к основному содержанию
EDU-MMCS
  • В начало
  • Дополнительно
Вы используете гостевой доступ
Вход
В начало
  1. Prog_2_4
  2. Лабораторная работа 2. Исключения

Лабораторная работа 2. Исключения

Требуемые условия завершения
Открыто с: четверг, 13 февраля 2025, 00:00
Срок сдачи: понедельник, 17 февраля 2025, 23:00

1. Создайте класс BankAccount, который управляет балансом пользователя. Реализуйте метод withdraw(amount), который уменьшает баланс на amount. Если баланс станет отрицательным, выбрасывайте ValueError. Добавьте механизм блокировки аккаунта: если трижды подряд попытаться снять больше, чем есть на балансе, аккаунт блокируется и выбрасывается исключение AccountLockedError.

2. Реализуйте класс Calculator, который выполняет базовые арифметические операции (+, -, *, /). Добавьте обработку следующих ошибок:

  • Деление на ноль (ZeroDivisionError).
  • Если переданы нечисловые аргументы (TypeError).
  • Если передана неизвестная операция (UnknownOperationError).

3. Реализуйте класс TicketSystem, который управляет бронированием билетов. У каждого билета есть номер и статус (доступен или забронирован).
Реализуйте метод book_ticket(ticket_id), который бронирует билет.
Если билет уже забронирован, выбросите исключение TicketAlreadyBookedError.
Если билет с таким ID не существует, выбросите TicketNotFoundError.

4. Создайте класс UserManager, который управляет пользователями.

Реализуйте метод add_user(username, age), который добавляет пользователя в систему.
Метод должен выбрасывать исключения:

  • InvalidUsernameError, если имя содержит запрещенные символы (@, #, $, %, &).
  • AgeRestrictionError, если возраст меньше 18 лет.
  • UserAlreadyExistsError, если пользователь уже добавлен.



Служба поддержки сайта
Вы используете гостевой доступ (Вход)
Сводка хранения данных
Скачать мобильное приложение Яндекс.Метрика
На платформе Moodle