Compare commits

..

2 Commits

Author SHA1 Message Date
cheeks
766472d311 Completed 9-12 Multiple Modules 2025-03-03 00:00:57 +00:00
cheeks
7bf5efb033 Add break to prevent else clause execution 2025-03-02 23:59:35 +00:00
4 changed files with 60 additions and 0 deletions

View File

@ -38,6 +38,7 @@ class Privileges:
if self.privileges:
for privilege in self.privileges:
print(f" - {privilege}")
break
else:
print(" - This user has no privileges.")

View File

@ -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()

22
Chapter_09/admin.py Normal file
View File

@ -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()

25
Chapter_09/user.py Normal file
View File

@ -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