diff --git a/Chapter_09/9-12_multiple_modules.py b/Chapter_09/9-12_multiple_modules.py new file mode 100644 index 0000000..7efd472 --- /dev/null +++ b/Chapter_09/9-12_multiple_modules.py @@ -0,0 +1,12 @@ +# Exercise 9-12 Multiple Modules +# Learning Objective: Use multiple modules in one program. + +from admin import Privileges, Admin + +frank = Admin("Frank", "Enbeens", "06/24/63", "WY", "Green") + +frank.privileges.privileges = ["full administrative access", "can change other user's privileges"] + +frank.describe_user() + +frank.privileges.show_privileges() \ No newline at end of file diff --git a/Chapter_09/admin.py b/Chapter_09/admin.py new file mode 100644 index 0000000..a17e0a6 --- /dev/null +++ b/Chapter_09/admin.py @@ -0,0 +1,22 @@ +from user import Users + +class Privileges: + def __init__(self, privileges=[]): + """Create separate class for privileges """ + self.privileges = privileges + + def show_privileges(self): + """ Print Privileges list """ + print(f"This user has the following privileges:\n") + if self.privileges: + for privilege in self.privileges: + print(f" - {privilege}") + break + else: + print(" - This user has no privileges.") + +class Admin(Users): + def __init__(self, first_name, last_name, dob, state, hair_color): + """ Initialize Users the add sepeicifc Admin attributes/methods """ + super().__init__(first_name, last_name, dob, state, hair_color) + self.privileges = Privileges() \ No newline at end of file diff --git a/Chapter_09/user.py b/Chapter_09/user.py new file mode 100644 index 0000000..159a9b6 --- /dev/null +++ b/Chapter_09/user.py @@ -0,0 +1,25 @@ +class Users: + def __init__(self, first_name, last_name, dob, state, hair_color): + """Initialize User Profile variables""" + self.first_name = first_name + self.last_name = last_name + self.dob = dob + self.state = state + self.hair_color = hair_color + self.login_attempts = 0 + + def describe_user(self): + """Prints descriptions of user based on inputs""" + print(f"{self.first_name} {self.last_name} was born on {self.dob}, they live in {self.state} and they have {self.hair_color} hair") + + def greet_user(self): + """Prints personalized greeting to user specified""" + print(f"Welcome to this python program, {self.first_name} {self.last_name}!") + + def increment_login_attempts(self): + """Increments Login Attempts by one""" + self.login_attempts += 1 + + def reset_login_attempts(self): + """Resets login attempts to zero""" + self.login_attempts = 0 \ No newline at end of file