Advanced Grade Calculator

Calculate grade based on multiple subjects with weights.

AdvancedPhase 6 - Category 5: Real-World Logic ProblemsExample 2 of 15
advanced-grade-calculator.py
1# Take number of subjects
2n = int(input("Enter number of subjects: "))
3
4# Take marks and weights
5total_weighted = 0
6total_weight = 0
7
8for i in range(n):
9 marks = float(input(f"Subject {i+1} marks: "))
10 weight = float(input(f"Subject {i+1} weight: "))
11 total_weighted += marks * weight
12 total_weight += weight
13
14# Calculate weighted average
15average = total_weighted / total_weight
16
17# Assign grade
18if average >= 90:
19 grade = "A+"
20elif average >= 80:
21 grade = "A"
22elif average >= 70:
23 grade = "B"
24elif average >= 60:
25 grade = "C"
26else:
27 grade = "F"
28
29print(f"Weighted average: {average:.2f}")
30print(f"Grade: {grade}")

Output

Enter number of subjects: 3
Subject 1 marks: 85
Subject 1 weight: 2
Subject 2 marks: 90
Subject 2 weight: 3
Subject 3 marks: 75
Subject 3 weight: 1
Weighted average: 85.83
Grade: A

What's going on

Calculate weighted average and assign grade.

Key Concepts:

Weighted sum = sum(marks * weight)
Weighted average = weighted sum / total weight
Assign grade based on average