CS 152 Park University Unit 6 Health No Head Standalone Python Code Project
IntroductionThis assignment lets you practice with reading from a file and manipulating lists.PreparationThis assignment must be done in a standalone Python environment, not the textbook. See the Textbooks and Materials page for instructions on installing the compiler on your local computer or using Park’s virtual desktop.Download the following all to the same folder:The program Lab9-start.py The data files health-no-head-sample.csv and health-no-head.csv The big data file contains records of some infectious diseases from 1928 to 2011. The small one only includes data from 3 years from 5 states. Run the python program. It should print something like this
MEASLES,206.98,COLORADO,2099,1014000,1928['MEASLES', '206.98', 'COLORADO', '2099', '1014000', '1928\n']MEASLES,634.95,CONNECTICUT,10014,1577000,1928 ['MEASLES', '634.95', 'CONNECTICUT', '10014', '1577000', '1928\n']MEASLES,256.02,DELAWARE,597,233000,1928['MEASLES', '256.02', 'DELAWARE', '597', '233000', '1928\n']...Make sure that you get output like this before starting the assignment or writing any additional code.DirectionsModify the program in the following ways:Write each line as part of a table, include a header before the table, and a summary line at the end. Use a fixed width for each column (don’t try to find the largest width like you did in the previous unit). You should end up with something like
State Disease Number YearCOLORADO MEASLES 2,099 1928CONNECTICUT MEASLES 10,014 1928DELAWARE MEASLES 597 1928…DELAWARE SMALLPOX 0 1930DISTRICT OF COLUMBIA SMALLPOX 0 1930FLORIDA SMALLPOX 28 1930 Total 52,307 Not every field of the original line is used in the output. You will have to do some research about the .format() function to print the number of cases with a comma. If you can’t get the comma in the number column, move on and come back to that once you have more of the program written. The key is to have all the columns line up. Use some if statements to add three filters to your program that let the user select exactly one state, disease and year to include in the report. Prompt the user to enter these values.
Enter state: ColoradoEnter disease: smallpoxEnter year: 1928State Disease Number YearCOLORADO SMALLPOX 340 1928 Total 340 Unfortunately, this isn’t very flexible.Change your program so that if the user just hits return for a prompt, the program includes all the data for that field. For example:Enter state (Empty means all): ColoradoEnter disease (Empty means all):Enter year (Empty means all): 1928State Disease Number Year COLORADO MEASLES 2,099 1928COLORADO POLIO 71 1928COLORADO SMALLPOX 340 1928 Total 2,510 Your program should run as expected using this small data setChange the open statement in the program to use the full data set, health-no-head.csv.Write down the answers to the following queries:How many cases of Hepatitis A were reported in Utah in 2001?How many cases of polio have been reported in California?How many cases of all diseases were reported in 1956?Add another feature to your program.This could be something like printing the highest and lowest numbers for each query, or allowing the user to just type the first part of value, so that entering 20 for the year generates a table for years 2000, 2001, 2002, … 2011, or entering D for a state gives information on Delaware and the District of Columbia. Or maybe leverage your previous assignment and make the column only as wide as they need to be for the data. Try to make it something useful.Comment your code.Be sure to add a header comment to your program and any functions, and appropriate comments before other blocks of code.SubmissionSubmit the file with .py extension.Write a reflection in the comment box answering the following questions:Show the answers from Step 5.Describe your added feature from Step 6. Show the code that accomplishes this.In a sentence or two, what did you learn?In a sentence or two, what did you like about this project?In a sentence or two, what did you find confusing or would like to see done differently regarding this project?In a sentence or two, if you had another hour or two, what would you like to add to the project or how would you do things differently?RubricUnit 6: Assignment 2 RubricUnit 6: Assignment 2 RubricCriteriaRatingsPtsThis criterion is linked to a Learning OutcomeCommenting3.0 ptsFull CreditAll required comments are present2.0 ptsPartial CreditMost, but not all comments are present0.0 ptsNo CreditFew or no additional comments3.0 ptsThis criterion is linked to a Learning OutcomePrints table header and summary4.0 ptsFull CreditPrints table header and summary in neat columns2.0 ptsPartial CreditPrints header or summary neatly0.0 ptsNo CreditOmits header and summary data4.0 ptsThis criterion is linked to a Learning OutcomePrints data in neat columns, with comma formatting for number column4.0 ptsFull CreditPrints data in neat columns, with comma formatting for number column2.0 ptsPartial CreditPrints data in neat columns, but without comma formatting0.0 ptsNo CreditDoes not print data in neat columns4.0 ptsThis criterion is linked to a Learning OutcomeInput filters3.0 ptsFull CreditPrompts for state, disease and year and uses as a filter1.0 ptsPartial CreditPrompts for state, disease or year and uses as a filter0.0 ptsNo CreditDoesn’t prompt or filter3.0 ptsThis criterion is linked to a Learning OutcomeEmpty input filter3.0 ptsFull CreditAllows empty input to be a wildcard match.0.0 ptsNo CreditWildcard match doesn’t work3.0 ptsThis criterion is linked to a Learning OutcomeNew functionality3.0 ptsFull CreditAdds relevant new feature to program1.0 ptsPartial CreditAdds trivial new feature to program0.0 ptsNo CreditNo new feature3.0 ptsThis criterion is linked to a Learning OutcomeReflection questions5.0 ptsFull CreditAnswers all reflection questions3.0 ptsPartial CreditAnswers 2-5 reflection questions0.0 ptsNo CreditAnswers less than two reflection questions5.0 ptsTotal Points: 25.0