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

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.

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]

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.")