Question
courses.txt = 12345,Fall 2020,ENG101 A 12345,Spring 2020,TURK102 B+ 98734,Fall 2019,HUM112 C 34567,Spring 2020,CS101 A- 98734,Fall 2020,ENG102 C+ 12345,Fall 2020,MATH102 A- 98734,Fall 2020,MBG201 B- 34567,Spring 2020,CHEM100
courses.txt =
12345,Fall 2020,ENG101 A 12345,Spring 2020,TURK102 B+ 98734,Fall 2019,HUM112 C 34567,Spring 2020,CS101 A- 98734,Fall 2020,ENG102 C+ 12345,Fall 2020,MATH102 A- 98734,Fall 2020,MBG201 B- 34567,Spring 2020,CHEM100 C- 12345,Spring 2020,HIST201 B
students.txt =
89454-Anna Karpat 20987-Alara Roberts 98734-Mert Eren 12345-Kaan Kolay 45678-Selin Yetis
Notes:
- You should only use functionality covered in CS115 in your solution.
- Your solution for this lab should not use lists, tuples, dictionaries.
- Do NOT use the string split() function.
- Include a docstring for your functions.
- Download the files courses.txt, students.txt.
- Create a module, course_info.py that contains the following functions:
- get_grade(): takes a string grade as a parameter, and returns the float grade points for the given grade. Example: A -> returns 4.0.
- find_id(): takes a string file name and a student name as parameters. Returns the id of the student with the given name. If no student is found, returns -99. The student name is not case sensitive.
- find_courses(): takes a file name and a student id, and semester as parameters. Returns the average grade points, and string set of courses for the student with the given id, for the given semester. If no courses are found, average will be zero and the (string) courses will be an empty string.
- Write a script, yourname_student_app.py that inputs the name of a student and a semester from the user. Using functionality defined in the module, your program should display the courses taken by the student and the average grade of the student for the given semester. If student/courses are not found, display a meaningful message (see sample run below). Write the student id and average grade to a file with the name
.txt . The program should keep inputting student names/semesters and searching courses until the user inputs exit for the student name to quit (not case sensitive).
Sample Runs:
Enter student name to search(quit to exit): Kaan Kolay
Enter semester: Fall 2020
Course Summary:
ENG101
MATH102
Average Grade Fall 2020: 3.85
Enter student name to search(quit to exit): Selin Yetis
Enter semester: Fall 2020
Courses Not Found!
Enter student name to search(quit to exit): Hande Oral
Enter semester: Spring 2020
Student Not Found!
Enter student name to search(quit to exit): quit
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started