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:

```python
def 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, Diem

def 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ả.
Bình luận (0)
Nhấn vào đây để đánh giá
Thông tin người gửi
0.08839 sec| 2243.477 kb