Trang chủ Lớp 11 Tin học lớp 11 SGK Tin học 11 - Kết nối tri thức Luyện tập 1 Bài 18 (trang 86) Tin học 11: Chỉnh sửa...

Luyện tập 1 Bài 18 (trang 86) Tin học 11: Chỉnh sửa lại chương trình của Nhiệm vụ 1 để bổ sung chức năng: a) Thông báo điểm đầu tiên và điểm cuối cùng trong danh sách

Giải chi tiết Luyện tập 1 Bài 18. Thực hành dữ liệu mảng một chiều và hai chiều (trang 86) – SGK Tin học 11 Kết nối tri thức. Hướng dẫn: Dựa vào hướng dẫn của Nhiệm vụ 1 trang 86.

Câu hỏi/Đề bài:

Chỉnh sửa lại chương trình của Nhiệm vụ 1 để bổ sung chức năng:

a) Thông báo điểm đầu tiên và điểm cuối cùng trong danh sách.

b) Cho phép người dùng tra cứu đầu điểm thứ n với quy ước n bắt đầu từ 1 ứng với điểm đầu tiên, nếu n lớn hơn tổng số đầu điềm hoặc nhỏ hơn 1, cần thông báo không hợp lệ và yêu cầu người dùng nhập lại.

Lời giải:

marks = []

line = input(“Hãy nhập các điểm kiểm tra cách nhau bởi dấu cách: “)

marks = [float(x) for x in line.split()]

total = 0

min_mark = marks[0]

max_mark = marks[0]

for m in marks:

 total += m

 if min_mark > m:

  min_mark = m

 if max_mark < m:

  max_mark = m

#a) Thông báo điểm đầu tiên và điểm cuối cùng trong danh sách.

print(“Điểm trung bình: “, total / len(marks))

print(“Điểm cao nhất: “, max_mark)

print(“Điểm thấp nhất: “, min_mark)

print(“Điểm đầu tiên: “, marks[0])

print(“Điểm cuối cùng: “, marks[-1])

#b) Cho phép người dùng tra cứu đầu điểm thứ n với quy ước n bắt đầu từ 1 ứng với điểm đầu tiên, nếu n lớn hơn tổng số đầu điềm hoặc nhỏ hơn 1, cần thông báo không hợp lệ và yêu cầu người dùng nhập lại.

while True:

 try:

  n = int(input(“Nhập n để tra cứu điểm đầu tiên thứ n (n bắt đầu từ 1): “))

  if n < 1 or n > len(marks):

   print(“Số n không hợp lệ. Vui lòng nhập lại.”)

   continue

  print(“Điểm đầu tiên thứ”, n, “là:”, marks[n – 1])

  break

 except ValueError:

  print(“Số n không hợp lệ. Vui lòng nhập lại.”)