Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Student:
- def __init__(self, student_id, fname, lname, age, gpa, major):
- self.student_id = student_id
- self.fname = fname
- self.lname = lname
- self.age = age
- self.gpa = gpa
- self.major = major
- def display_info(self):
- print(f"Фак.номер: {self.student_id}")
- print(f"Име: {self.fname}")
- print(f"Фамилия: {self.lname}")
- print(f"Възраст: {self.age}")
- print(f"Успех: {self.gpa}")
- print(f"Специалност: {self.major}")
- def avg_gpa(self, grades):
- if not grades:
- return 0.0
- total = sum(grades)
- avg_gpa = total / len(grades)
- return avg_gpa
- def sort_by_age(student_list):
- sorted_students = sorted(student_list, key=lambda x: x.age)
- for student in sorted_students:
- student.display_info()
- def search_by_name(student_list, fname, lname):
- found = False
- for student in student_list:
- if student.fname == fname and student.lname == lname:
- found = True
- student.display_info()
- break
- if not found:
- print("Not found!!!")
- def avg_by_name(student_list, fname, lname):
- found = False
- for student in student_list:
- if student.fname == fname and student.lname == lname:
- found = True
- avg_gpa = student.avg_gpa(student.gpa)
- print(f"Average gpa of {fname} {lname}: {avg_gpa}")
- break
- if not found:
- print("Not found!!!")
- def filter_by_major(student_list):
- major_students = sorted(student_list, key=lambda student: student.major)
- for student in major_students:
- student.display_info()
- def remove_student(student_list, student_id):
- for student in student_list:
- if student.student_id == student_id:
- student_list.remove(student)
- print(f"Student deleted!")
- break
- else:
- print("Wrong student id!")
- n = int(input("Брой студенти: "))
- student_list = []
- for _ in range(n):
- student_id = int(input())
- fname = input()
- lname = input()
- age = int(input())
- gpa = float(input())
- major = input()
- student = Student(student_id, fname, lname, age, gpa, major)
- student_list.append(student)
- while True:
- print("1. Сортиране по възраст")
- print("2. Търсене на студент по име и фамилия")
- print("3. Изчисляване на средния успех на студент по име и фамилия")
- print("4. Филтриране на студентите по специалност и извеждане на информация за тези студенти")
- print("5. Премахване на студент от списъка по идентификационен номер")
- print("6. Изход")
- choice = int(input())
- match choice:
- case 1:
- sort_by_age(student_list)
- case 2:
- fname = input()
- lname = input()
- search_by_name(student_list, fname, lname)
- case 3:
- fname = input()
- lname = input()
- avg_by_name(student_list, fname, lname)
- case 4:
- filter_by_major(student_list)
- case 5:
- student_id = int(input())
- remove_student(student_list, student_id)
- print(student_list)
- case 6:
- break
- case _:
- print("Wrong option!")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement