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

598

Với giải Luyện tập 2 trang 88 Tin học lớp 11 Kết nối tri thức chi tiết trong Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều giúp học sinh dễ dàng xem và so sánh lời giải từ đó biết cách làm bài tập Tin học 11. Mời các bạn đón xem:

Giải bài tập Tin học lớp 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

Đánh giá

0

0 đánh giá