Question: Python error trouble need help solving. Every time i try compiling the program it returns this error: Traceback (most recent call last): File lab1b.py, line

Python error trouble need help solving. Every time i try compiling the program it returns this error: Traceback (most recent call last): File "lab1b.py", line 80, in main() File "lab1b.py", line 9, in main emp = emp() UnboundLocalError: local variable 'emp' referenced before assignment

Here is my python code below:

import lab1a import pickle import sys

def main(): emp = emp() user_pick = 0 while user_pick != 5: print("Employee Management System Menu") print("Please enter a choice from the list below:") print("Lookup = 1, Add = 2, Change = 3, Delete = 4 or Quit = 5") user_pick = int(input("Type in desired choice: ")) if user_pick == 1: look_up(emp) elif user_pick == 2: add(emp) elif user_pick == 3: change(emp) elif user_pick == 4: delete(emp) else: print("Error, Please enter a valid choice") store(emp) def emp(): try: file = open('emp.dat','rb') emp_dict = pickle.load(file) file.close() except IOError: emp_dict = {} return emp_dict

def store(emp): update_file = open('emp_dict.dat', 'wb') pickle.dump(emp, update_file) update_file.close()

def look_up(emp): lookup_id = input("Please enter an employee id number to search: ") print(emp.get("That id number provided doesn't exist: ", lookup_id))

def add(emp): add_id = input("Please enter a new employee id: ") add_name = input("Please enter a new employee name: ") add_department = input("Please enter a new employee deparment: ") add_emp = emp.Employee(add_name, add_id, add_department) if add_id in emp: print("Error, new employee not added. Id number already exists!") else: emp[add_id] = add_emp print("Employee added!")

def change(emp): change_id = input("Please enter an employee id to change: ") if change_id in emp: change_name = input("Please change name of employee: ") change_department = input("Please change deparment of employee: ") change_emp = emp.Employee(change_name, change_id, change_department) emp[change_id] = change_emp print("Employee Changed!") else: print("That id number provided doesn't exist!")

def delete(emp): del_id = input("Please enter an employee id to delete: ") if del_id in emp: del emp[del_id] print("Employee deleted!") else: print("That id number provided doesn't exist!")

if __name__ == '__main__': main()

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!