From dc29fb63d162c2ce542435a6e745519b6869aac7 Mon Sep 17 00:00:00 2001 From: Corey Schafer Date: Sat, 25 Mar 2017 16:48:53 -0600 Subject: [PATCH] Added common starting code for tutorials --- Starting_Code/calc.py | 19 ++++++++++++++++ Starting_Code/employee.py | 46 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 Starting_Code/calc.py create mode 100644 Starting_Code/employee.py diff --git a/Starting_Code/calc.py b/Starting_Code/calc.py new file mode 100644 index 0000000..97b201d --- /dev/null +++ b/Starting_Code/calc.py @@ -0,0 +1,19 @@ + +def add(x, y): + """Add Function""" + return x + y + + +def subtract(x, y): + """Subtract Function""" + return x - y + + +def multiply(x, y): + """Multiply Function""" + return x * y + + +def divide(x, y): + """Divide Function""" + return x / y diff --git a/Starting_Code/employee.py b/Starting_Code/employee.py new file mode 100644 index 0000000..461ee5f --- /dev/null +++ b/Starting_Code/employee.py @@ -0,0 +1,46 @@ + +class Employee: + """A sample Employee class""" + + num_of_emps = 0 + raise_amt = 1.04 + + def __init__(self, first, last, pay): + self.first = first + self.last = last + self.pay = pay + + Employee.num_of_emps += 1 + + @property + def email(self): + return '{}.{}@email.com'.format(self.first, self.last) + + @property + def fullname(self): + return '{} {}'.format(self.first, self.last) + + def apply_raise(self): + self.pay = int(self.pay * self.raise_amt) + + def __repr__(self): + return "Employee('{}', '{}', {})".format(self.first, self.last, self.pay) + + +class Manager(Employee): + """A sample Manager class""" + + def __init__(self, first, last, pay, employees=None): + super().__init__(first, last, pay) + self.employees = employees if employees else [] + + def add_emp(self, emp): + if emp not in self.employees: + self.employees.append(emp) + + def remove_emp(self, emp): + if emp in self.employees: + self.employees.remove(emp) + + def __repr__(self): + return "Manager('{}', '{}', {}, {})".format(self.first, self.last, self.pay, self.employees)