hỉnh sửa lại chương trình để người dùng có thể: a) Tra cứu các đầu điểm kiểm tra theo STT

Trả lời Luyện tập 2 trang 88 Tin học 11 sách Kết nối tri thức hay, chi tiết sẽ giúp học sinh dễ dàng làm bài tập Tin học 11.

1 176 07/06/2023


Giải Tin học 11 Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Luyện tập 2 trang 88 Tin học 11: Chỉnh sửa lại chương trình để người dùng có thể:

a) Tra cứu các đầu điểm kiểm tra theo STT (số thứ tự) của học sinh. Quy ước số thứ tự bắt đầu từ 1. Nếu người dùng nhập STT lớn hơn số lượng học sinh thì chương trình thông báo STT không hợp lệ và yêu cầu nhập lại.

b) Tra cứu điểm kiểm tra cụ thể lần thứ n của một học sinh theo STT. Nếu n và STT không hợp lệ chương trình cần thông báo và yêu cầu 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]

num_students = len(marks)

for m in marks:

  total += m

  if min_mark > m:

   min_mark = m

  if max_mark < m:

   max_mark = m

print("Điểm trung bình: ", total / num_students)

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

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

while True:

  stt = int(input("Nhập vào STT (1 <= STT <= số lượng học sinh): "))

  if stt < 1 or stt > num_students:

   print("STT không hợp lệ. Vui lòng nhập lại!")

  else:

   print("Điểm của học sinh có STT", stt, "là:", marks[stt - 1])

   break

while True:

  stt = int(input("Nhập vào STT của học sinh: "))

  if stt < 1 or stt > num_students:

   print("STT không hợp lệ. Vui lòng nhập lại!")

  else:

   n = int(input("Nhập vào số lần kiểm tra cần tra cứu (1 <= n <= số lượng điểm kiểm tra): "))

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

    print("N không hợp lệ. Vui lòng nhập lại!")

   else:

    print("Điểm kiểm tra lần thứ", n, "của học sinh có STT", stt, "là:", marks[stt - 1])

    break

1 176 07/06/2023


Xem thêm các chương trình khác: