PLEASE EXPLAIN HOW YOU DID IT. You have learned quite a lot about…

Question Answered step-by-step PLEASE EXPLAIN HOW YOU DID IT. You have learned quite a lot about… PLEASE EXPLAIN HOW YOU DID IT. You have learned quite a lot about the basics of Python programming. In this project, you will integrate what you have learned to develop a larger program. This program creates a class registration system.  Students log into the class registration system and then they can add courses, drop courses, and list the courses for which they have registered. This program has 7 functions in 3 modules: a student module, a billing module, and a main module. Module: student.pyYou must define the following functions in the student module. Module: billing.pyYou must define the following functions in the billing module.    Module: registration.py (main module)You must define the following functions in the main module.   This program uses lists and dictionaries to store data. To make grading easier, data will be added to these variables at the beginning of the main function. student_list = [(‘1001’, ‘111’), (‘1002’, ‘222’),                        (‘1003’, ‘333’), (‘1004’, ‘444’)]student_in_state = {‘1001’: True,                   ‘1002’: False,                   ‘1003’: True,                   ‘1004’: False} course_hours = {‘CSC101’: 3, ‘CSC102’: 4, ‘CSC103’: 5, ‘CSC104’: 3}course_roster = {‘CSC101’: [‘1004’, ‘1003’],                ‘CSC102’: [‘1001’],                ‘CSC103’: [‘1002’],                ‘CSC104’: []}course_max_size = {‘CSC101’: 3, ‘CSC102’: 2, ‘CSC103’: 1, ‘CSC104’: 3} There are 4 students in this program.  ID and PIN of students are stored as tuples in student_list.  The first element of each tuple is student ID and the second element is the PIN. Students that are in-state are stored in the student_in_state dictionary. Students 1001 and 1003 are in-state students. Four courses are offered. Each course has a number of credit hours. The courses and credit hour information are stored in course_hours: CSC101 has 3 credit hours. CSC102 has 4 credit hours. CSC103 has 5 credit hours. CSC104 has 3 credit hours. The maximum class size of the courses offered are stored in course_max_size.  The max sizes of CSC101, CSC102, CSC103, and CSC104 are 3, 2, 1, and 3 respectively. Rosters of the four classes offered are stored as four lists which are values of the course_roster dictionary: Students 1004 and 1003 are enrolled in CSC101. Student 1001 is enrolled in CSC102. Student 1002 is enrolled in CSC103. No one is enrolled in CSC104. The data given above must be used in the program as specified above. Any changes to how the data is structured must be proposed as a specification change to the instructor and approved by the instructor. The program should have a loop to create multiple student sessions. In each session, ask the user to enter an ID, then call the login function to verify the student’s identity.  If login is successful, use a loop to allow the student to add courses, drop courses, list courses registered, or display a bill. The following is an example. Enter ID to log in, or 0 to quit: 1234Enter PIN: 123ID or PIN incorrect Enter ID to log in, or 0 to quit: 1001Enter PIN: 111ID and PIN verified Enter 1 to add course, 2 to drop course, 3 to list courses, 4 to show bill, 0 to exit: 1Enter course you want to add: CSC121Course not found Enter 1 to add course, 2 to drop course, 3 to list courses, 4 to show bill, 0 to exit: 1Enter course you want to add: CSC102You are already enrolled in that course. Enter 1 to add course, 2 to drop course, 3 to list courses, 4 to show bill, 0 to exit: 1Enter course you want to add: CSC103Course already full. Enter 1 to add course, 2 to drop course, 3 to list courses, 4 to show bill, 0 to exit: 1Enter course you want to add: CSC101Course added Enter 1 to add course, 2 to drop course, 3 to list courses, 4 to show bill, 0 to exit: 4Course load: 7 credit hoursEnrollment cost: $1575.00 Enter 1 to add course, 2 to drop course, 3 to list courses, 4 to show bill, 0 to exit: 2Enter course you want to drop: CSC121Course not found Enter 1 to add course, 2 to drop course, 3 to list courses, 4 to show bill, 0 to exit: 2Enter course you want to drop: CSC103You are not enrolled in that course. Enter 1 to add course, 2 to drop course, 3 to list courses, 4 to show bill, 0 to exit: 2Enter course you want to drop: CSC102Course dropped Enter 1 to add course, 2 to drop course, 3 to list courses, 4 to show bill, 0 to exit: 3Courses registered:CSC101Total number: 1 Enter 1 to add course, 2 to drop course, 3 to list courses, 4 to show bill, 0 to exit: 1Enter course you want to add: CSC102Course added Enter 1 to add course, 2 to drop course, 3 to list courses, 4 to show bill, 0 to exit: 3Courses registered:CSC101CSC102Total number: 2 Enter 1 to add course, 2 to drop course, 3 to list courses, 4 to show bill, 0 to exit: 4Course load: 7 credit hoursEnrollment cost: $1575.00 Enter 1 to add course, 2 to drop course, 3 to list courses, 4 to show bill, 0 to exit: 0Session ended. Enter ID to log in, or 0 to quit: 1002Enter PIN: 222ID and PIN verified Enter 1 to add course, 2 to drop course, 3 to list courses, 4 to show bill, 0 to exit: 3Courses registered:CSC103Total number: 1 Enter 1 to add course, 2 to drop course, 3 to list courses, 4 to show bill, 0 to exit: 1Enter course you want to add: CSC101Course already full. Enter 1 to add course, 2 to drop course, 3 to list courses, 4 to show bill, 0 to exit: 1Enter course you want to add: CSC102Course added Enter 1 to add course, 2 to drop course, 3 to list courses, 4 to show bill, 0 to exit: 3Courses registered:CSC102CSC103Total number: 2 Enter 1 to add course, 2 to drop course, 3 to list courses, 4 to show bill, 0 to exit: 4Course load: 9 credit hoursEnrollment cost: $7650.00 Enter 1 to add course, 2 to drop course, 3 to list courses, 4 to show bill, 0 to exit: 0Session ended. Enter ID to log in, or 0 to quit: 0 Programs will be graded based on both functionality and code readability. A working program could still have points deducted for sloppy or difficult to understand code. All code should have module and function comment headers plus appropriate in-line comments. As with all assignments, the Academic Integrity Policy is in effect, and cheating (including copying published solutions from the Internet) will result in a 0 for the entire team.Program Submission Requirements You must create three Python files: The student module named student.pyThe billing module named billing.pyThe main module named registration.py   Computer Science Engineering & Technology Python Programming CSC 121 Share QuestionEmailCopy link Comments (0)