Báo cáo bài tập giũa kỳ

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 7

Họ và tên: Phạm Trung Hiếu

MSV: 20021130
Lớp học phần: 2223II_EMA3129_21

BÁO CÁO BÀI TẬP GIỮA KỲ

1. Cơ sở dữ liệu

2. Class Student
Hàm __init__() là hàm khởi tạo (constructor) của class trong Python. Tất cả các
lớp trong Python đều có hàm __init__(). Hàm khởi tạo luôn luôn được gọi khi một
đối tượng của một lớp được tạo ra. Hàm khởi tạo được sử dụng để gán giá trị cho
các thuộc tính của đối tượng hoặc thực hiện một số thao tác khi đối tượng đang
được tạo ra.
class Student:
    def __init__(self, id, name, sex, age, role, GPA):
        self._id = id
        self._name = name
        self._sex = sex
        self._age = age
        self._role = role
        self._GPA = GPA
        self._Ranked = ""

3. Thư viện StudentManagement


Tạo danh sách sinh viên bằng lệnh:
 listStudent = []

Thư viện StudentManagement gồm các hàm:


 Hàm trả về số lượng học sinh:
Code:
def NumberOfStudent(self):
        return len(self.listStudent)
 Hàm tạo ID
Code:
def generateID(self):
        maxID = 1
        if(self.NumberOfStudent() > 0):
            maxID = self.listStudent[0]._id
            for student in self.listStudent:
                if (maxID < student._id):
                    maxID = student._id
            maxID = maxID + 1
        return maxID
 Hàm đánh giá học sinh theo điểm trung bình
Sơ đồ khối :
Code:
def Ranked(self, student:Student):
        if (student._GPA >= 3.6 ):
            student._Ranked = "Excellent"
        elif (student._GPA >= 3.2 ):
            student._Ranked = "Good"
        elif (student._GPA >= 2.5 ):
            student._Ranked = "Moderately Good"
        elif (student._GPA >= 2 ):
            student._Ranked = "Medium"
        else:
            student._Ranked = "Weak"
 Hàm nhập sinh viên:
Code:
def EnterStudent(self):
        # New Student
        StudentID = self.generateID()
        Name = input("Student's Name: ")
        Sex = input("Student's Gender: ")
        Age = int(input("Student's Age: "))
        Role = input("Student's Role: ")
        GPA = float(input("Student's GPA: "))
        NewStudent = Student(StudentID, Name, Sex, Age, Role, GPA)
        self.Ranked(NewStudent)
        self.listStudent.append(NewStudent)
 Hàm tìm kiếm sinh viên theo tên:
Sơ đồ khối:

Code:
def findByName(self, keyword):
        listS = []
        if(self.NumberOfStudent() > 0):
            for student in self.listStudent:
                if(keyword.upper() in student._name.upper()):
                    listS.append(student)
        return listS
 Hàm hiển thị danh sách sinh viên:
Code:
def showStudent(self, listStudent):
        # Show column headers
        print("{:<8} {:<18} {:<8} {:<8}{:<8} {:<8} {:<8}"
              .format("ID", "Name", "Sex", "Age", "Role", "GPA", "Ranked"))
        # Display List Student
        if (listStudent.__len__() > 0):
            for sv in listStudent:
                print("{:<8} {:<18} {:<8} {:<8}{:<8} {:<8} {:<8}"
                      .format(sv._id, sv._name, sv._sex, sv._age, sv._role,
sv._GPA, sv._Ranked))
        print("\n")

    def getListStudent(self):
        return self.listStudent

4. Hàm main()
Sơ đồ khối:
Code:
from StudentManagement import StudentManagement

# Initialize a StudentManagement object to manage students


SDMG = StudentManagement()
while(1==1):
    print("\nSTUDENT MANAGEMENT PROGRAM - PYTHON")
    print("*************************MENU**************************")
    print("**  1. Upload A Student.                             **")
    print("**  2. Search Student' Name.                         **")
    print("**  3. Display List Of Students.                     **")
    print("**  0. Exit                                          **")
    print("*******************************************************")

    key = int(input("Enter options: "))


    if (key == 1):
        print("\n1. Upload A Student.")
        SDMG.EnterStudent()
        print("\nUpload Student Successful!")
    elif (key == 2):
        if (SDMG.NumberOfStudent() > 0):
            print("\n2. Search Student' Name.")
            print("\nEnter a name to search: ")
            name = input()
            searchResult = SDMG.findByName(name)
            SDMG.showStudent(searchResult)
    elif (key == 3):
        if (SDMG.NumberOfStudent() > 0):
            print("\n3. Display List Of Students.")
            SDMG.showStudent(SDMG.getListStudent())
        else:
            print("\nStudent list is empty!")
    elif (key == 0):
        print("\nYou have chosen to exit the program!")
        break
    else:
        print("\nThis function is not available!")
        print("\nPlease select another function in the menu.")

You might also like