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
170
14/06/2023
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.
Trả lờ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
Xem thêm lời giải bài tập SGK Tin học 11 Kết nối tri thức hay, chi tiết khác: