Note: The assignments in this course are a series of projects that build on one another.
The purpose of this assignment is to demonstrate knowledge of advanced datatypes and the use of lists and dictionaries to store, retrieve process data.
The company has approved the proof of concept provided in your week three assignment but wants to change some of the data as well as the processing. In addition to the data input, you will need to include the “from date” and “to date” for the hours worked. Detailed information will not be displayed until all the data has been entered, followed by the total summary for the payroll.
- All the coding will be maintained from your week three assignment and modified as needed to meet the new requirements.
Complete the following in Practice Labs:
- Create a new function that will input and return the from date and to date for the hours worked and is called inside the loop. This should be the first function called. Dates must be in the format mm/dd/yyyy.
- Store the from date, to date, employee name, total hours, hourly rate and income tax rate in a list object. Note: multiple list objects may be needed to complete this functionality
- After the user terminates the loop, call a function that will:
- Read through the list(s) and for each employee calculate the income tax and net pay.
- Display the from date, to date, employee name, hours worked, hourly rate, gross pay, income tax rate, income taxes and net pay for the employee
- Increment the total number of employees, total hours, total tax, total net pay and store the values in a dictionary object.
- Modify the function that displays totals to read the data from the dictionary object and then display the totals.
- Submit the Python source code file and a Word document that contains a screen shot of input and display for one employee and a screen shot of the display of totals. A minimum of five employees must be entered to receive full credit. Include a 1-2 sentence reflection on the successes and/or challenges you had with this assignment.
- Ensure all functionality is working correctly and code is written efficiently. For purposes of this assignment, writing code efficiently is defined as:
- Using correct naming conventions for all variables and objects.
- Using correct naming conventions for functions and methods.
- Using built-in functions whenever possible.
- Using the fewest lines of code needed to return multiple values from functions.
- Using the fewest lines of code needed to complete the functionality defined.