Windows 10
Python 3.9.5
Здравствуйте. Помогите пожалуйста, совсем отчаялся, третьи сутки ломаю голову, не пойму что я делаю не так?
Задание:
Создать отдельный класс Privileges. Он должен иметь один атрибут, privileges, в котором хранится список строк. Перенести из класса Admin, метод show_privileges() в класс Privileges. Сделать экземпляр Privileges атрибутом класса Admin. Создать новый экземпляр Admin и вызвать наш метод, чтобы показать преимущества, которыми наделены администраторы.
Моё решение
Python 3.9.5
Здравствуйте. Помогите пожалуйста, совсем отчаялся, третьи сутки ломаю голову, не пойму что я делаю не так?
Задание:
Создать отдельный класс Privileges. Он должен иметь один атрибут, privileges, в котором хранится список строк. Перенести из класса Admin, метод show_privileges() в класс Privileges. Сделать экземпляр Privileges атрибутом класса Admin. Создать новый экземпляр Admin и вызвать наш метод, чтобы показать преимущества, которыми наделены администраторы.
Моё решение
Код:
class User:
def __init__(self, first_name, last_name, age, city):
self.first_name = first_name
self.last_name = last_name
self.age = age
self.city = city
self.login_attempts = 0
def describe_user(self):
print(f'Привет юзер - {self.first_name.title()} {self.last_name.title()},'
f' ваш возраст {self.age} года, город проживания {self.city.title()}.')
# увеличение попыток авторизации
def increment_login_attempts(self):
self.login_attempts += 1
print(f'Попыток авторизации - {self.login_attempts}')
# обнулить попытки авторизации
def reset_login_attempts(self):
self.login_attempts = 0
print(f'Сброс авторизации на {self.login_attempts}')
def result(self):
print(f'Всего попыток: {self.login_attempts}')
class Admin(User):
def __init__(self, first_name, last_name, age, city):
super().__init__(first_name, last_name, age, city)
self.privileg = Privileges()
# показать привилегии
# def show_privileges(self):
# print (f"Администратор может: ", self.privileges)
# переопределение метода родительского класса User
def describe_user(self):
print(f'Должность - Администратор, Имя: {self.first_name.title()} {self.last_name.title()},'
f' возраст {self.age} года, город {self.city.title()}.')
class Privileges:
def __init__(self, privileges):
# self.privileges = privileges
self.privileges = "\n\tсоздать запись, \n\tудалить запись, \n\tзаблокировать запись."
def show_privileges(self):
print (f"Администратор может: {self.privileges}")
usr = User('Василий', 'Пупкин', 38, 'Днепр')
usr.describe_user()
adm = Admin('Алекс', 'Мёрфи', 43, 'Днепр')
adm.describe_user()
adm.privileg.show_privileges()
Последнее редактирование: