Practice : Reading data from a file
Background
A while ago I was reading an article in my local newspaper that mentioned that the Waterloo school district had had it's best 4 year graduation rate in history. The number quoted seemed low to me - even for an urban school - so I got curious about the average graduation rate for schools in Iowa. That led me to find this data file for the 2017 school year.
- graduation_dropout.csv
- small_sample.csv [I will often make a small file available so that you can hand test your own code]
Let's just look at this data for a second:
I have snipped in to only look at some of the data. But let's focus in on the row for AGWSR. The data shows that by the spring of 2017 36 of the 39 students who started as freshman in fall of 2013 had graduated in the four year period. Similarly, it shows that all 35 of the 35 students who started as freshman in fall of 2012 had graduated within that five year period.
Some schools have not reported some data. For example, Adair-Casey had reported their 5 year data but not their 4 year data. Alden had not reported any data. Every field with missing data is marked with the symbol "****"
Program Guide
For this practice activity you should create the following function in a file called graduation.py
Create a function called fourYearAverage() that:
- Takes in one parameter - a string containing the name of the file to be used
- Note, the file used should be in the same folder as your code
- Opens the file provided by the parameter
- Extracts the information for each school in the file
- If the school reports four year graduation data, stores this information as needed in order to...
- ...calculate the average graduation rate for all students from the schools with valid data
- You will need to watch for the **** which indicates a school didn't send in data
- RETURNS:
- The floating point percentage of students who graduated in four years.
- Return this in the format shown below.
- For example, you can see in the small_sample file that 314 of 325 students graduated in four years.
- Example:
Testing Your Code
- Go to the AutoLab Homepage for the course
- https://hypnos.cs.uni.edu/courses/CSED1320-F21/assessments
- Log in if necessary
- For each of the assignments listed above, find their submission link under the "Practice" heading
- Upload the corresponding python file for that assignment.
- When the "handin history" page comes up you will need to refresh the page until a score of either 0 or 1 is shown with your assignment.
- Click on the 0/1 score to get feedback.
- Read the information carefully if you received a score of 0 and figure out what you need to do to fix the problem.
- Ask for help from me or other students if you don't understand an error message.
- Resubmit until the program earns a 1.