Python начальный уровень

Выполнен
Заказ
6180405
Раздел
Программирование
Предмет
Тип работы
Антиплагиат
Не указан
Срок сдачи
19 Июн в 09:30
Цена
200 ₽
Блокировка
10 дней
Размещен
19 Июн в 07:40
Просмотров
72
Описание работы

Создайте класс User и его наследника класс SuperUser, которые описывают пользователя и супер-пользователя.

 

В классе User необходимо описать:

  • конструктор, который принимает в качестве параметров значения для атрибутов name: str, login: str и password: str, grade: int
  • свойства для изменения и получения значений атрибутов
  • метод show_info, который печатает в произвольном формате значения атрибутов name и login
  • атрибут класса count для хранения количества созданных экземпляров класса User

Необходимые условия, которые надо учесть:

 

При этом:

  • атрибут name доступен и для чтения, и для изменения
  • атрибут login доступен только для чтения. При попытке изменения вернуть строку "Невозможно изменить логин!"
  • атрибут password доступен только для изменения. При обращении на чтение вернуть звёздочки (********)
  • атрибут grade не доступен ни для чтения, ни для изменения. При попытке изменения и обращения на чтение вернуть строку "Неизвестное свойство grade ".
  • объекты класса User должны иметь возможность сравниваться по значению атрибута grade с помощью операторов сравнения

 

В классе SuperUser необходимо описать:

  • конструктор, который принимает в качестве параметров значения для атрибутов nameloginpassword и role
  • свойство для изменения и получения значения атрибута role: str
  • метод show_info, который печатает в произвольном формате значения атрибутов name, login и role
  • атрибут класса count для хранения количества созданных экземпляров класса SuperUser

 

Как это должно работать

 

Код:

user1 = User('Paul McCartney', 'paul', '1234', 3) user2 = User('George Harrison', 'george', '5678', 2) user3 = User('Richard Starkey', 'ringo', '8523', 3) admin = SuperUser('John Lennon', 'john', '0000', 'admin', 5) user1.show_info() admin.show_info()

 

Результат:

Name: Paul McCartney, Login: paul Name: John Lennon, Login: john

 

Код:

users = User.count admins = SuperUser.count print(f'Всего обычных пользователей: {users}') print(f'Всего супер-пользователей: {admins}')

 

Результат:

Всего обычных пользователей: 3 Всего супер-пользователей: 1

 

Код:

print(user1 user3) print(user1 == user3)

 

Результат:

False True True

 

Код:

user3.name = 'Ringo Star' user1.password = 'Pa$$w0rd' print(user3.name) print(user2.password) print(user2.login) user2.login = 'geo' print(user1.grade) admin.grade = 10

 

Результат:

Ringo Starr ********

george

Невозможно изменить логин!

Неизвестное свойство grade

Неизвестное свойство grade

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу 1 год
Средний балл 4.96
Стоимость Назначаете сами
Эксперт Выбираете сами
Уникальность работы от 70%
Время выполнения заказа:
2 часа 11 минут
Выполнен
Отзыв о выполненном заказе
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Темы журнала
Показать ещё
Прямой эфир