Chỉnh sửa lại chương trình của Nhiệm vụ 3 để cho phép chương trình có thể tìm kiếm

Chỉnh sửa lại chương trình của Nhiệm vụ 3 để cho phép chương trình có thể tìm kiếm điểm số trên danh sách điểm số được sắp xếp theo thứ tự giảm dần.

Trả lời

Def BinrySearch(A,K):

                                left=0

                                right=len(A)-1

                                while left<=right:

                                                               mid=(left+right)//2

                                                               if A[mid]==K:

                                                                     return mid

                                                               elif A[mid]<K:

                                                                      left=mid-1

                                                               else:

                                                                      right=mid+1

                                return -1

input_file=open(“diemthi_sx.inp”)

ds_diem=[]

for line in input_file.readlines():

                                ds_diem.append(float(line))

input_file.close():

diem=float(input(‘nhập điểm số cần kiểm tra:’))

vitri=BanirySearch(ds_diem,diem)

if vitri==-1:

                                print(‘không tồn tại điểm số cần tìm trong danh sách’)

else:

                                print(‘điểm cần tìm nằm ở hàng thứ’,vitri,’trong danh sách’)