$24.99
Possible Points: 25 points
• Give you more practice reading data from files
• Introduce you to using functions to perform specific tasks in your programs
Assignment:
This problem uses fuel economy data in miles per gallon (mpg) taken from the following US Department of Energy website: http://www.fueleconomy.gov/feg/download.shtml. The data files you have been provided with have been adapted from the CSV file on the website, and contain vehicle testing data for all models tested between 1984 and 2014 (last updated Sept 30, 2014). The first data file, carModelData_city, contains all the test results for city mpg and the second, carModelData_hwy, contains all the test results for highway mpg. Each file contains the same number of values, as the values in the same position in each list refer to the same vehicle. You will likely want to use the float() function to cast the string values to floats.
a. Write a function readData(filename) that will read in all the data from a text file that consists of float data formatted such that each value is on a new line.
b. Write a function averageMPG(dataList) that calculates the average mpg for all vehicles tested given a list of the mpg values.
c. Write a function countGasGuzzlers(list1, list2) that calculates the number of gas guzzlers among the vehicle models tested – for this program, define a “gas guzzler” as a car that gets EITHER less than 22 mpg city OR less than 27 mpg highway.
d. Write a function output(<parameters>) to print the following output (you will determine what parameters this function needs to have passed in to it):
i. The total number of vehicles tested
ii. The average for the city mpg for all the vehicles tested
iii. The average for the highway mpg for all the vehicles tested iv. The number of gas guzzlers among the vehicle models tested
e. Write a program fuelEconomy.py that contains a main() function that calls all the functions you made in parts a-d.
Details:
As you have done on the earlier home-works, add comments to your Python functions describing the required inputs (if any) and the expected outputs. In addition, add comments as appropriate within the body of your program (e.g. to explain what a particular block of code is meant to accomplish).
Turn In:
Submit all of your python programs for this assignment as .py files. Include the output you obtained from each of your programs in a comment at the end of each program.