Python running calculations on many user inputs

I want my program to take any number of scores from any number of students, and run calculations on them.

student_number = 1

    try:
        score = int(input("Please enter Student " + str(student_number) + "'s score (-1: Exit): "))
    except:
        print("The score entered is not a number. Please enter it again.")
        score = int(input("Please enter Student " + str(student_number) + "'s score (-1: Exit): "))
    while score != -1:
        try:
            score = int(input("Please enter Student " + str(student_number) + "'s score (-1: Exit): "))
        except:
            print("The score entered is not a number. Please enter it again.")
            score = int(input("Please enter Student " + str(student_number) + "'s score (-1: Exit): "))
    more_student = input("Any more student? (Yes or No): ")
    while more_student == "Yes":
        student_number = student_number + 1
        try:
            score = int(input("Please enter Student " + str(student_number) + "'s score (-1: Exit): "))
        except:
            print("The score entered is not a number. Please enter it again.")
            score = int(input("Please enter Student " + str(student_number) + "'s score (-1: Exit): "))
        while score != -1:
            score = int(input("Please enter Student " + str(student_number) + "'s score (-1: Exit): "))
        more_student = input("Any more student? (Yes or No): ")
    print("done")

Instead of print(“done”), I want to somehow take every input I have received and be able to split it up by student, example output:

Student _ has 4 scores. Their average score is _. Student _ has 3 scores. Their average score is _.

Answer

I included two infinite loops that breaks when -1 is entered. A hashmap is used where every Student ID is a key and is initialized with an empty array that stores the marks as the second loop executes itself.

marks = {}
while True:
    i = int(input("Enter Student ID or press -1 to exit"))
    if i == -1:
        break
    else:
        marks[i] = []
        while True:
            x = int(input("Enter Mark or press -1 to exit"))
            if x!=-1:
                marks[i].append(x)
            else:
                break


for i in marks.keys():
    count = len(marks[i])
    avg = sum(marks[i])/count
    print("Student {} has {} scores. Their average is {}".format(i, count, avg))