#Test 2 Preparation #Program 1: This program will process grades for the group of students. #The program will ask user to enter the number of students in the #group, and the number of courses each student takes in specific semester. #Assume, that all students take the same number of #courses. #The program will generate final grade for each course for each #student. #All grades will be stored in 2-D list. One row of 2-D list stores grades #for one student. #For example, if there are 3 students in the group and each student #takes 2 courses, and the input grades are: #90 67 for first student, 99 56 for second student, and 78 67 for third #student, the 2-D list of grades will be as follows: #90 67 #99 56 #78 67 #The program will also create 1D list of student names and 1D list of courses #The program is partially written for you. Complete the program import random def make_2d_list(row, col, min, max): a = [[ 0 for i in range(col)] for j in range(row)] for i in range(row): for j in range(col): a[i][j]=random.randint(min, max) return a def print_table(my_list_2d, row, col): for i in range(row): print(my_list_2d[i]) def make_list_string(size): my_list=[] print("enter", size, "strings") for i in range(size): word= input("") my_list.append(word) return my_list #complete the following functions def ave(list2D, row, col): #finds and returns the average of all #grades for all students in the #group. def ave_student_list(list2D, row, col): #finds and returns the ONE #dimensional list of averages PER #student def ave_course_list(list2D, row, col): #finds and returns the ONE #dimensional list of averages PER #course def main(): #complete the program to find: #1. the list of averages per student #2. the list of averages per course #3. the average grade over all grades #4. STUDENT name who got a highest average #5. COURSE name with the highest average #If there are several students(courses) with the same highest average, you #only need to find ONE row=int(input("enter number of students ")) col=int(input("enter number of courses ")) grades=make_2d_list(row, col, 0, 100) print("grades are ") print_table(grades, row, col) student_names= make_list_string(row) print("student names") print(student_names) course_names=make_list_string(col) print("course names") print(course_names) #complete the program main()