bourzat / ist-project

0 stars 1 forks source link

Grade management! #2

Open justcoffeebean opened 7 months ago

justcoffeebean commented 7 months ago

`class Student: def init(self, name,admission_number): self.name=name self.admission_number= admission_number self.grades={}

A dictionary to store the grades of each subject

def  add_grade(self, course, grade):
    self.grades[subject]= grade

def calculate_average(self):#calculates average based on grades dictionary
      total=sum(self.grades.values())
      average=total/ len(self.grades) if len(self.grades)>0 else 0
      return average

def print_details(self):
      print(f"Name: {self.name}")
      print(f"admission_number{self.admission_number}")
      if self.grades:
            print("Grades")
            for subject , grade in self.grades.items():
                  print(f"{subject}:{grade}")
      else:
            print("No Grades Yet.")

def main(): students[] while True: print("\nGrade Management System") print("1. Add Student") print("2. Add Grades") print("3. View Student Details") print("4. Exit")

         choice=input("Enter your choice: ")

         if choice == '1':
               name=input("Enter student name: ")
               admission_number=int(input("Enter Admission Number : "))
               Student=Student(name,admission_number)
               students.append(Student)
               print("Student enrolled successfully!")

         elif choice== '2':
                if not students:
                      print("No students added yet!")
                      continue 
                admission_number=int(input("Enter student roll number: "))
                found = False 
                for student in students:
                    if  student.admission_number == admission_number:
                       subject = input("Enter subject name: ")
                       grade = float(input("Enter grade: "))
                       student.add_grade(subject,grade)
                       print("Grade added successfully")
                       found =True
                       break
                    if not found:
                        print("Admission number does not exist!")

          elif choice == '3':
             if not students:
                print("No students added yet!")
                continue
             roll_no = int(input("Enter student roll number: "))
             found = False
             for student in students:
                if student.roll_no == roll_no:
                    student.print_details()
                    found = True
                    break
            if not found:
             print("Student not found!")

          elif choice == '4':
              print("Exiting...")
              break
         else:
            print("Invalid choice!")

if name =="main": main()`

justcoffeebean commented 7 months ago

I don't Know why Its bringing errors but thats basically it, you guys could help me debug it.

Tbaraka commented 7 months ago

aight

Tbaraka commented 7 months ago

class Student: def init(self, name, admission_number): self.name = name self.admission_number = admission_number self.grades = {}

def add_grade(self, course, grade):
    if course in self.grades:
        self.grades[course] = grade
    else:
        self.grades[course] = [grade]

def calculate_average(self): 
    total = sum(self.grades.values(), [])
    average = sum(total) / len(total) if total else None
    return average

def print_details(self):
    print(f"Name: {self.name}")
    print(f"admission_number: {self.admission_number}")
    if self.grades:
        print("Grades")
        for subject, grade in self.grades.items():
            if isinstance(grade, list):
                print(f"{subject}: {grade[0]}")
            else:
                print(f"{subject}: {grade}")
    else:
        print("No Grades Yet.")

def main(): students = []
while True: print("\nGrade Management System") print("1. Add Student") print("2. Add Grades") print("3. View Student Details") print("4. Exit")

    choice = input("Enter your choice: ")

    if choice == '1':
        name = input("Enter student name: ")
        admission_number = int(input("Enter Admission Number : "))
        student = Student(name, admission_number)
        students.append(student)
        print("Student enrolled successfully!")

    elif choice == '2':
        if not students:
            print("No students added yet!")
            continue
        admission_number = int(input("Enter student admission number: "))
        found = False
        for student in students:
            if student.admission_number == admission_number:
                subject = input("Enter subject name: ")
                grade = float(input("Enter grade: "))
                student.add_grade(subject, grade)
                print("Grade added successfully")
                found = True
                break
            if not found:
                print("Admission number does not exist!")

    elif choice == '3':
        if not students:
            print("No students added yet!")
            continue
        admission_number = int(input("Enter student admission number: "))
        found = False
        for student in students:
            if student.admission_number == admission_number:
                student.print_details()
                found = True
                break
        if not found:
            print("Student not found!")

    elif choice == '4':
        print("Exiting...")
        break
    else:
        print("Invalid choice!")

if name == "main": main()

Tbaraka commented 7 months ago

fixed

abigailnjeri commented 7 months ago

oh wow