Due Sunday, September 24th at 11:59 PM
DeliverablesThere is one deliverable for this assignment:
It must be in an hw3 directory, which you must create inside a hw directory inside you it117 directory.
Make sure the script obeys all the rules in the Script Requirements page.
To test this script you must copy into your hw2 directory the file courses.txt from /home/ghoffman/course_files/it117_files.
SpecificationThis script reads in class data from a file and creates a dictionary.
It then prints the data from the dictionary.
The script has the following functions
class_tuple_createThis function has the following headerdef class_tuple_create(filename):The function reads in a file with four fields of data about a class.
The fields areCourse ID Room number Instructor Start timeThe function must print an error message if the file cannot be opened for any reason.
The function should read in each line of the file and split it into a list of 4 elements.
It should add the information in the line into a dictionary, where the key is the course number and the value is a tuple consisting of the room number, the instructor and the start time.
The function should return this dictionary when it has read all the lines in the file.
print_classesThis function has the following headerdef print_classes(class_info):It should print the following table headerID Room Instr StartThen it should print out the data for each class in alphabetical order by Class ID.
Test CodeThe script must contain the following test code at the bottom of the fileclass_information = class_tuple_create('xxxxx') class_information = class_tuple_create('courses.txt') print_classes(class_information)
SuggestionsWrite this script in stages, testing your script at each step
- Create a file with the hashbang line, the test code and each function. The body of the function should be the Python statement
passwhich does nothing but it stops syntax errors
- Remove the
passstatement in class_tuple_create and replace it with code that opens a file for reading. If the file cannot be opened for reading, the code should print an error message and not do any further processing of the file.
- Using a
forloop print each line of the file.
- Split the line into a list and print the list.
- Define the variable course_id and set its value to the first element of the list. Print the course_id.
- Create the variable class_data and set its value to the tuple consisting of the remaining fields in the list. Print course_id and class_data.
- Create an empty dictionary at the top of the function. With each line of the file create an entry for the class where the key is the course ID and the value is the tuple. Outside the loop but still inside the function, print this dictionary.
- Remove all print statements from class_tuple_create. Return the dictionary created by this function. Remove the
pass statement from print_classesand replace it with a statement that prints the parameter.
- Using a
forloop, print the class IDs in sorted alphabetical order.
- Use the class ID to get the tuple with class data. Print the class ID and tuple for each class.
- Print the class ID and each element of the tuple with a tab in between.
- Print the labels for each column and a line of dashes underneath it.
The output should look something like thisError: Unable to open xxxxx ID Room Instr Start ----------------------------------- CM241 1411 Lee 13:00 CS101 3004 Haynes 8:00 CS102 4501 Smith 9:00 CS103 6755 Rich 10:00 NT110 1244 Burke 11:00