This video provides the solution of NPTEL course Operating System Fundamental Week 1 Assignment 1 Solution July-Dec 2023.
nptel, NPTEL, nptel solution, nptel assignment solution, assignment 5, week 5, july 2023, dec 2023, 2023, nptel 2023, nptel 2023 solution, nptel 2023 assignment solutions, week 5 assignment 5, nptel week 5, nptel assignment 5, solution, solution of nptel course, nptel assignment 5 solution, nptel course solution, nptel pyhton solution, nptel python solution 2023, nptel dsa python solution, nptel dsa using python, data structure, programming in python, nptel dsa using python assignmnet, pyhton porgramming, nptel python programming assignment, nptel pyhton week 5, nptel pyhton week 5 solution, nptel dsa using python solution, nptel data structure solution, nptel data structure solution 2023
def calculate_gpa(grades):
grade_to_point = {
'A': 10,
'AB': 9,
'B': 8,
'BC': 7,
'C': 6,
'CD': 5,
'D': 4
}
total_points = 0
for grade in grades:
total_points += grade_to_point[grade]
return round(total_points / len(grades), 2) if grades else 0
def main():
courses = {}
students = {}
grades = {}
Read courses
input_line = input()
while True:
input_line = input()
if input_line == "Students":
break
course_code, course_name, semester, year, instructor = input_line.split("~")
courses[course_code] = (course_name, semester, year, instructor)
Read students
while True:
input_line = input()
if input_line == "Grades":
break
roll_number, full_name = input_line.split("~")
students[roll_number] = full_name
grades[roll_number] = [] # Initialize grades for each student
Read grades
while True:
input_line = input()
if input_line == "EndOfInput":
break
course_code, semester, year, roll_number, grade = input_line.split("~")
grades[roll_number].append(grade)
Calculate GPA for each student and sort by roll number
output = []
for roll_number, full_name in sorted(students.items()):
gpa = calculate_gpa(grades[roll_number])
output.append(f"{roll_number}~{full_name}~{gpa}")
for line in output:
print(line)
if _name_ == "__main__":
main()
#nptel
#nptelquiz
#nptelanswer
#nptelcourseanswers
#nptelsolution
#nptelassignment
#nptelquizsolution
#nptelassignmentsolution
#nptel2023
#nptel_assignment
#nptel_july2023