K
Khách

Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.

QT
Quoc Tran Anh Le
Giáo viên
23 tháng 8 2023

1.Điểm được sắp xếp theo thứ tự ngẫu nhiên:

# Danh sách tên học sinh

class_names = ["Sơn", "Huyền", "Nam", "Hùng", "Hương", "Hà"]

# Danh sách điểm thi tương ứng

class_scores = [5.6, 7.4, 7.8, 8.4, 8.9, 9.5]

# Nhập khoảng điểm cần tra cứu

start_score = float(input("Nhập điểm bắt đầu của khoảng điểm: "))

end_score = float(input("Nhập điểm kết thúc của khoảng điểm: "))

 

# Kiểm tra và thông báo tên học sinh có điểm nằm trong khoảng tương ứng

found = False

for i in range(len(class_names)):

  if class_scores[i] >= start_score and class_scores[i] <= end_score:

   print("Học sinh", class_names[i], "có điểm là", class_scores[i])

   found = True

if not found:

  print("Không tìm thấy học sinh nào có điểm trong khoảng điểm đã nhập.")

2.Điểm được sắp xếp theo thứ tự tăng dần:

# Danh sách tên học sinh

class_names = ["Sơn", "Huyền", "Nam", "Hùng", "Hương", "Hà"]

# Danh sách điểm thi tương ứng (đã được sắp xếp theo thứ tự tăng dần)

class_scores = [5.6, 7.4, 7.8, 8.4, 8.9, 9.5]

# Nhập khoảng điểm cần tra cứu

start_score = float(input("Nhập điểm bắt đầu của khoảng điểm: "))

end_score = float(input("Nhập điểm kết thúc của khoảng điểm: "))

# Tìm kiếm nhị phân để tra cứu tên học sinh

found = False

low = 0

  high = len(class_names) – 1

while low <= high:

  mid = (low + high) // 2

  if class_scores[mid] >= start_score and class_scores[mid] <= end_score:

   print("Học sinh", class_names[mid], "có điểm là", class_scores[mid])

   found = True

   break

  elif class_scores[mid] < start_score:

   low = mid + 1

  else:

   high = mid - 1

if not found:

  print("Không tìm thấy học sinh nào có điểm trong khoảng điểm đã nhập.")