Bài 20: Thực hành bài toán tìm kiếm

Luyện tập (SGK Kết nối tri thức với cuộc sống - Trang 98)

Hướng dẫn giả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’)

(Trả lời bởi Quoc Tran Anh Le)
Thảo luận (1)