students = []

print("Enter student information. Type STOP as the name to finish.\n")

while True:
    name = input("Enter student name: ")
    
    if name.upper() == "STOP":
        break

    major = input("Enter major: ")
    level = input("Enter level (freshman, sophomore, etc.): ")

    # GPA input with validation
    while True:
        gpa_input = input("Enter GPA: ")
        try:
            gpa = float(gpa_input)
            break
        except:
            print("Invalid GPA. Please enter a number.")

    # Resident status (convert to True/False)
    while True:
        resident_input = input("Is the student a resident? (yes/no): ").lower()
        
        if resident_input == "yes":
            is_resident = True
            break
        elif resident_input == "no":
            is_resident = False
            break
        else:
            print("Please enter 'yes' or 'no'.")

    # Create student record (dictionary)
    student = {
        "name": name,
        "major": major,
        "GPA": gpa,
        "level": level,
        "is_resident": is_resident
    }

    students.append(student)
    print("Student added.\n")

# Display all students
print("\nAll students entered:")
for s in students:
    print(s)