It is the galactic year 62.53. The Cruz Space Synergy Industries. (CSSI) has grown so much that it cannot find enough scientists and engineers to hire. Therefore, the company created the Cruz Space College (CSC) to train the next generation of space scientists and engineers. The company is keeping track of its students’ information. using an old system of text files but plans to implement a new system soon. Your job for this project is to make sure that the data in the files is not corrupted.

Write a program that:

  1. Asks the user for an input file name.
  2. Validates that the user entered a valid file name (name of an existing file).
  3. If the user enters invalid file names 3 times, displays an error message and quits.
  4. Reads from the input file the names of students (don’t make assumptions about how many students) and their grades (0..5 grades per student, default to 0). The names of the students and the grades will be stored in a dictionary where the names are the keys, and the grades are stored in a list associated with the key.
  5. After reading the student information into the dictionary, displays the name of each student followed by their grades followed by the grade average to the console as follows:

Student 1 Grade 1 Grade 2 Grade 3 Grade4 Grade 5 Average

Student 2 Grade 1 Grade 2 Grade 3 Grade4 Grade 5 Average

Student 3 Grade 1 Grade 2 Grade 3 Grade4 Grade 5 Average

Student 4 Grade 1 Grade 2 Grade 3 Grade4 Grade 5 Average

Dictionary + List:

{Student1:[Grade1, Grade2, Grade3, Grade4, Grade5], Student2:[Grade1, Grade2, Grade3, Grade4, Grade5], Student3:[Grade1, Grade2, Grade3, Grade4, Grade5]}

Structure of input file:

Student 1Name

Student 1 Grade 1

Student 1 Grade 2

Student 2 Name

Student 3 Name

Student 3 Grade 1

Student 4 Name

Student 4 Grade 1

Student 4 Grade 2

Student 4 Grade 3

Student 4 Grade 4

Student 4 Grade 5

For Example:













Submission guidelines:

Send your


file as attachments to my email, with the subject Assignment 4.


Please include the header at the top of your program. Replace the necessary information.