Design an algorithm and use it to write a python program that allow

Need in 10 Hours Maximum

In the Resources section of the Interact2 subject website there is a data file called students.txt. This file contains student details: a valid student number, course (BIT or MIT) and the specialisation (ex: software design and development). Each student number is an eight digit number such as 11556677. (Note: Two records in the file have intentionally been “corrupted” – for testing purposes.)

Design an algorithm and use it to write a Python program that allow the user to reads the contents of the data file into a list. The program should then loop, to allow a user to check various numbers against those stored in the list. The loop should terminate when an “empty” input occurs – i.e. when the user presses the [Enter] key on its own. (Obviously this last entry should NOT be checked against the list!) If the student number input matches an element somewhere in the list, the program should display the number together with the course and the specialisation. If the number input does not match any element in the list, then the program should display the number and a message saying that it IS NOT a valid student number.

Notes:
The algorithm should be written in pseudocode (structured English).

The records read from the data file should be checked and NOT placed into the list if they are something other than an 8 digits. (Display a sensible message if the file is found to have corrupt records in it.)

The numbers entered by the user should be checked to ensure they are valid digits (as distinct from valid student numbers) and not processed further if they are not.

Your programs should use one or more functions where sensible, and be documented fully.

Use exceptions where necessary.

Specify 3 sets of test data that will demonstrate the correct ‘normal’ operation of your program. Show your test data in a table as you have done in earlier assignments.

Run your program using the test data you have selected and save the output produced in a single text file.

Submit:

1. Your algorithm and test data table.
2. The table recording your chosen test data.
3. Source code for your Python implementation.
4. Output test file demonstrating the results of using the test data.
5. Contents of the data file cars.txt read by the program.

It is important that the output listings are not edited in any way.

Rationale

Reinforce topic material related to files and exceptions.
Reinforce topic material related to lists.