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ụ:

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á.


def nhapDL(finp):

 f = open(finp)

 A = []

 B = []

 for line in f:

  s = line.split()

  A.append(s[0])

  temp = s[1:len(s)]

  temp = [float(x) for x in temp]

  B.append(temp)

 f.close()

 return A, B

def diem_gk(d):

 diem = sum(d) + d[0] + d[len(d) - 1]

 diem = diem / (len(d) + 2)

 return round(diem, 2)

def xuly(B):

 kq = []

 for i in range(len(B)):

  diem = diem_gk(B[i])

  kq.append(diem)

 return kq

def ghiDL(fout, A, B):

 f = open(fout, "w")

 A, B = zip(*sorted(zip(A, B), key=lambda x: x[1], reverse=True))

 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)


Trắc nghiệm Tin học 11 Kết nối tri thức KHMT bài 29 Thực hành thiết kế chương trình theo modun

Bình luận

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