Quản Lý Sinh Viên Bằng Class - OOP Python
Có thể bạn quan tâm
Hãy viết chương trình quản lý sinh viên bằng class trong Python, bằng cách sử dụng nội dung của bài tập quản lý sinh viên cơ bản, tức là chuyển sang sử dụng hướng đối tượng class để giải.
- huyển biến lưu trữ sinh viên thành một thuộc tính private __data
- Chuyển tất cả các hàm thành phương thức, đồng thời sửa lại theo cấu trúc của class.
Các bước thực hiện chuyển sang class như sau:
Bước 1: Tạo một file student.py cùng cấp với file main.py
Bước 2: Mở file student.py lên, sau đó nhập nội dung như sau.
class Student: # Chứa dữ liệu sinh viên __data = [] def addStudent(self): """Hàm thêm một sinh viên""" print("*** THÊM SINH VIÊN ***") # Cấu trúc lưu trữ một sinh viên infor = { 'id' : '', 'name' : '' } # Nhập ID, có kiểm tra trùng ID thì nhập lại print("Nhập ID sinh viên:") id = input() while True: student = self.findStudent(id) if student != False: print("ID này đã tồn tại, vui lòng nhập lại:") id = input() else: break infor['id'] = id # Nhập tên print("Nhập tên sinh viên:") infor['name'] = input() # Lưu vào danh sách sv self.listStudents.append(infor) def findStudent(self, id): """Hàm tìm một sinh viên""" for i in range(0, len(self.listStudents)): if self.listStudents[i]['id'] == id: # Trả về mảng gồm 2 phần tử, # 0 là vị trí tìm thấy và 1 là dữ liệu return [i, self.listStudents[i]] return False def deleteStudent(self): """Hàm xóa sih viên""" print("*** XÓA SINH VIÊN ***") print("Nhập ID sinh viên cần xóa:") id = input() student = self.findStudent(id) if student != False: self.listStudents.remove(student[1]) print("Xóa sinh viên thành công") else : print("Không tìm thấy sinh viên cần xóa") def showStudents(self): """Hàm hiển thị danh sách sv""" print("*** DANH SÁCH SINH VIÊN HIỆN TẠI ***") for i in range(0, len(self.listStudents)): print("[",self.listStudents[i]['id'],"]", "[",self.listStudents[i]['name'],"]",)Bước 3: Sửa lại file main.py như sau.
# Import thư viện student import student # CHƯƠNG TRÌNH CHÍNH s = student.Student() action = 0 while action >= 0: if action == 1: s.addStudent() elif action == 2: s.deleteStudent() elif action == 3: s.editStudent() elif action == 4: s.showStudents() print("Chọn chức năng muốn thực hiện:") print("Nhập 1: Thêm sinh viên") print("Nhập 2: Xóa sinh viên") print("Nhập 3: Sửa sinh viên") print("Nhập 4: Xem danh sách sinh viên") print("Nhập 0: Thoát khỏi chương trình") action = int(input()) if action == 0: breakNhư bạn thấy, chương trình chính chỉ thay đổi phần import và khai báo một đối tượng Student.
Còn class student thì chuyển mọi thứ sang cấu trúc của class như: Sử dụng thuộc tính self, khai báo biến __ data ở trạng thái private.
Chạy lên kết quả vẫn không có gì khác biệt.
Từ khóa » Bài Tập Oop Python
-
Tổng Hợp Toàn Bộ Tài Liệu Học Hướng đối Tượng Và Bài Tập ... - Cafedev
-
[Tự Học Python] Bài Tập Hướng đối Tượng Trong Python »
-
Python: Bài Tập Phần Class | V1Study
-
Bài Tập Python: Module / Object / Class - Freetuts
-
Hơn 100 Bài Tập Python Có Lời Giải (code Mẫu)
-
Bài Tập Quản Lý Sinh Viên Trong Python - VietTuts
-
Bài Tập Python Có Lời Giải - Học Lập Trình Python - VietTuts
-
Bài 20: Hướng đối Tượng Trong Python - Lập Trình Python Cơ Bản
-
Chi Tiết Bài Học 13.Python OOP - Vimentor
-
8 Tip Thông Dụng Chém Bài Tập OOP Python (Object Oriented ...
-
Class Và Objects Trong Python - 40+ Bài Học Python Miễn Phí
-
Class Trong Python (lập Trình Hướng đối Tượng OOP) - EZCODEA
-
Bài Tập Lập Trình Hướng đối Tượng Cơ Bản, Nâng Cao - Blog | Got It AI