Tiếp tục chương trình nhập của Nhiệm vụ 2 ...

VẬN DỤNG

Câu 1: Tiếp tục chương trình nhập của Nhiệm vụ 2, viết thêm đoạn mã để tìm học sinh có điểm cao nhất nhằm giải quyết yêu cầu ở 1 KHỞI ĐỘNG của bài F11.

Hướng dẫn: Tiếp tục hướng dẫn của Nhiệm vụ 2. Duyệt bảng điểm để tìm điểm cao nhất. Sau đó, duyệt bảng điểm lần thứ hai để hiển thị các học sinh có điểm cao nhất này. Cụ thể như sau:

5 Gán diemCaoNhat = -1

6 Vòng lặp i từ 0 đến (số học sinh - 1):

Lấy diemSo của học sinh [i]

Nếu diemSo > diemCaoNhat thì: 

diemCaoNhat = diemSo

7 Vòng lặp i từ 1 đến (số học sinh - 1):

Lấy maso, hoTen, diemSo của học sinh [i] 

Nếu diemSo = diemCaoNhat thì:

Hiển thị maso, hoTen, diemSo.


- Kiểu dữ liệu danh sách rất hữu ích trong nhiều trường hợp, đặc biệt là khi cần lưu trữ và xử lý tập hợp dữ liệu có liên quan. Dưới đây là một vài trường hợp cụ thể:

+ Lưu trữ điểm số của học sinh: Khi có nhiều học sinh và mỗi học sinh có nhiều điểm kiểm tra, danh sách có thể được sử dụng để lưu trữ tất cả điểm số của từng học sinh.

 

 

+ Lưu trữ thông tin học sinh: Danh sách có thể chứa tên, mã số, và điểm số của học sinh, giúp dễ dàng truy cập và quản lý thông tin.

+ Xử lý dữ liệu: Khi cần thực hiện các phép toán như tìm kiếm, sắp xếp hoặc lọc thông tin (ví dụ: tìm học sinh có điểm cao nhất), danh sách cung cấp phương pháp thuận tiện để thực hiện các thao tác này.

+ Quản lý danh sách lớp học: Lưu trữ tên học sinh, mã số, và thông tin khác để dễ dàng quản lý và thực hiện các thao tác như điểm danh, phân nhóm, v.v.

- Đoạn mã tìm học sinh có điểm cao nhất

Dưới đây là đoạn mã Python để tìm học sinh có điểm cao nhất trong danh sách điểm:

# Danh sách chứa thông tin học sinh (mã số, họ tên, điểm số)

hoc_sinh = [

   {"ma_so": "HS01", "ho_ten": "An", "diem_so": 8.5},

   {"ma_so": "HS02", "ho_ten": "Bình", "diem_so": 9.0},

   {"ma_so": "HS03", "ho_ten": "Cường", "diem_so": 7.5},

   {"ma_so": "HS04", "ho_ten": "Duy", "diem_so": 9.0},

   {"ma_so": "HS05", "ho_ten": "Hà", "diem_so": 8.0}

]

 

# Bước 1: Tìm điểm cao nhất

diemCaoNhat = -1

for i in range(len(hoc_sinh)):

    diemSo = hoc_sinh[i]["diem_so"]

    if diemSo > diemCaoNhat:

        diemCaoNhat = diemSo

 

# Bước 2: Hiển thị học sinh có điểm cao nhất

print("Học sinh có điểm cao nhất:")

for i in range(len(hoc_sinh)):

    maSo = hoc_sinh[i]["ma_so"]

    hoTen = hoc_sinh[i]["ho_ten"]

    diemSo = hoc_sinh[i]["diem_so"]

    if diemSo == diemCaoNhat:

       print(f"Mã số: {maSo}, Họ tên: {hoTen}, Điểm số: {diemSo}")

 

*Giải thích đoạn mã:

+ Khởi tạo danh sách: Danh sách hoc_sinh chứa thông tin về mã số, họ tên và điểm số của từng học sinh.

- Tìm điểm cao nhất:

+ Khởi tạo biến diemCaoNhat với giá trị -1.

+ Duyệt qua từng học sinh để tìm điểm cao nhất.

 

+ Hiển thị học sinh có điểm cao nhất:

+ Duyệt lại danh sách để kiểm tra học sinh nào có điểm số bằng diemCaoNhat và in ra thông tin của họ.


Bình luận

Giải bài tập những môn khác