Advanced Grade Calculator

Calculate grade based on multiple subjects with weights.

Logic BuildingAdvanced
Logic Building
# Take number of subjects
n = int(input("Enter number of subjects: "))

# Take marks and weights
total_weighted = 0
total_weight = 0

for i in range(n):
    marks = float(input(f"Subject {i+1} marks: "))
    weight = float(input(f"Subject {i+1} weight: "))
    total_weighted += marks * weight
    total_weight += weight

# Calculate weighted average
average = total_weighted / total_weight

# Assign grade
if average >= 90:
    grade = "A+"
elif average >= 80:
    grade = "A"
elif average >= 70:
    grade = "B"
elif average >= 60:
    grade = "C"
else:
    grade = "F"

print(f"Weighted average: {average:.2f}")
print(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

Calculate weighted average and assign grade.

Key Concepts:

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