Apr-01-2020, 01:58 PM
# Main worker class class worker(): def __init__(self, name, salary, department): print("__init__ function of worker class.") self.name = name self.salary = salary self.department = department def show_info_worker(self): print("show_info function of worker class") print("""Name: {}\nSalary: {}\nDepartment: {}""".format(self.name, self.salary, self.department)) def change_depart(self, new_depart): print("change_depart function of worker class") self.department = new_depart # Main manager class class manager(worker): def __init__(self, name, salary, department, responsibilty): # super() function takes input from worker class super().__init__(name, salary, department) print("__init function of manager class") self.responsibilty = responsibilty def show_info_manager(self): print("show_info function of manager class") return """Name: {}\nSalary: {}\nDepartment: {}\nResponsibility: {}""".format(self.name, self.salary, self.department, self.responsibilty) def raise_salary(self, increase_salary): print("raise_salary function of manager class") self.salary += increase_salary employee_name = input("Please Enter Employee Name: ") employee_salary = input("Please Enter Employee Salary: ") employee_department = input("Please Enter Employee Department: ") while True: check_manager = int(input("""Please Select the Position of Employee\n1. Worker\n2. Manager""")) if check_manager == 1: worker1 = worker(employee_name, employee_salary, employee_department) worker1.show_info_worker() break elif check_manager == 2: manager_responsibility = input("Please Enter Manager Responsibility: ") manager1 = manager(employee_name, employee_salary, employee_department, manager_responsibility) manager1 = manager.show_info_manager() # ERROR!!! break else: print("Please Enter a Proper Value...")I get an error in line 51
Error:Traceback (most recent call last):
__init__ function of worker class.
__init function of manager class
File "C:/Users/Gökberk/Desktop/Python/Intermediate Exercise/Class Second Example.py", line 51, in <module>
manager1 = manager.show_info_manager()
TypeError: show_info_manager() missing 1 required positional argument: 'self'
I don't know how to fix that error.the situation is that I want to print manager class information after all input done.
Thank you for all of you for help