Luyện tậpCâu hỏi 1. Hãy chỉnh sửa lại chương trình trên nêu bổ sung thêm điều kiện sau vào nhiệm...
Câu hỏi:
Luyện tập
Câu hỏi 1. Hãy chỉnh sửa lại chương trình trên nêu bổ sung thêm điều kiện sau vào nhiệm vụ:
Trong tệp kết quả đầu ra, thứ tự các vận động viên được ghi theo thứ tự giảm dần của điểm đánh giá.
Câu trả lời:
Người trả lời: GV. Đỗ Hồng Giang
Để chỉnh sửa chương trình để thực hiện yêu cầu trong câu hỏi, bạn cần sắp xếp các vận động viên theo thứ tự giảm dần của điểm đánh giá trước khi ghi vào tệp kết quả.Dưới đây là cách làm chi tiết:1. Cần thêm một hàm mới là `sắp_xếp_theo_điểm(DS, Diem)` để sắp xếp danh sách `DS` và danh sách `Diem` theo thứ tự giảm dần của điểm đánh giá.2. Trong hàm `ghiDL(fout, A, B)`, thay vì sắp xếp trực tiếp các danh sách `A` và `B`, bạn sẽ sử dụng hàm `sắp_xếp_theo_điểm(DS, Diem)` để sắp xếp trước và sau đó ghi vào tệp kết quả.Câu trả lời đầy đủ và chi tiết hơn sẽ như sau:```pythondef sắp_xếp_theo_điểm(DS, Diem): DS, Diem = zip(*sorted(zip(DS, Diem), key=lambda x: x[1], reverse=True)) return DS, Diemdef ghiDL(fout, A, B): f = open(fout, "w") A, B = sắp_xếp_theo_điểm(A, B) for i in range(len(A)): print(A[i], B[i], file=f) f.close()finp = "seagames.inp"fout = "ketqua.out"DS, Diem = nhapDL(finp)Kq = xuly(Diem)ghiDL(fout, DS, Kq)```Bằng cách này, bạn đã bổ sung điều kiện mới vào chương trình để sắp xếp danh sách các vận động viên theo thứ tự giảm dần của điểm đánh giá trước khi ghi vào tệp kết quả.
Câu hỏi liên quan:
- Câu hỏi 2. Trong nhiệm vụ trên, nếu công thức tính điểm tổng hợp của Sea Games thay đổi thì chúng...
- Vận dụngThiết lập chương trình thiết kế theo mô đun cho các bài toán sau:Câu hỏi 1. Cho trước số tự...
- Câu hỏi 2. Trong một kì thi Tin học trẻ, mỗi học sinh sẽ phải làm 3 bài thi. Với mỗi bài, nêu học...
Bình luận (0)