I'm very new to coding, and I'm still confused about how to approach this. I want to make an employee database that can, depending on user input 1: lookup an employee, 2: add an employee, 3: change an existing employee's info, and 4: list all employees.
I can get the first and last specifications to work (albeit messily), but I'm having trouble with 2 and 3. I'm also unsure about the right way to store my employee instances, or if I should store them in a dictionary instead. Any pointers on how to start steps 2 and 3 would be great!
I've tried looking up a few different solutions, as well as reading articles about classes and/or dictionaries, but I'm unfortunately lost.
Defining the class:
class Employee:
```def __init__(self, name, salary, department, title):
``````self.name = name
``````self.salary = salary
``````self.department = department
``````self.title = title
```def tell(self):
``````print('{}, {}, {}, {}'.format(self.name, self.salary, self.department, self.title), end="")
```def add_employee(self, addname, addsalary, adddepartment, addtitle):
``````self.name, self.salary, self.department, self.title.append(addname,
``````addsalary, adddepartment, addtitle)
The above is nested under the class; the last line is an attempt to make an add_employee function that adds employee details from user_input to the pre-set instances. I don't think this code is correct, either.
The following is a function outside of the class, as well as the three pre-set employee instances; my guess is this is also bad code (oof):
def add_employee_input():
```Employee.add_employee(input("Enter name:"), input("Enter salary:"), input("Enter department:"),input("Enter title:"))
```print("The full roster is as follows:")
```emp1.tell()
```emp2.tell()
```emp3.tell()
```emp4.tell()
emp1 = Employee('Angela', '40000', 'Department for Penguin Research', 'Penguinologist')
emp2 = Employee('Mr. Rogers', '60000', 'Admin', 'Manager')
emp3 = Employee('Lucie', '50000', 'Department for Snail Research', 'Snailologist')
emp4 = Employee(addname, addsalary, adddepartment, addtitle)
I know the last line is wrong; I don't know if I can directly insert a variable into a class instance like this. And I doubt the function is correct, either.
If I try to run the code without the add_employee function blocked off, I get an error message about how the "addname," "addsalary," etc. variables are undefined. This makes sense to me since I'm trying to incorporate local class variables to an outside function. I don't know how to do it otherwise, but I'm sure there's a way.