The instructions for the coding test are as follows:"

Votee would like to conduct the coding test in a recorded live session. The idea is to connect to an API that plays a Wordle-like puzzle. You can find the API documentation at the following link: https://wordle.votee.dev:8000/redoc

Developers are allowed to use any frameworks, IDEs, chatbots, LLMs, or other resources to write their program and showcase their skill set. However, if you take references from other open-source projects or tutorials, please ensure that proper credit is given. Plagiarism will not be tolerated, and it may affect the evaluation of your application.

Your task is to write a program that automatically guesses random words against the API, using the following command as an example: curl -v ‘https://wordle.votee.dev:8000/random?guess=theft&seed=1234'"
If I run curl -v ‘https://wordle.votee.dev:8000/random?guess=theft&seed=1234 in the terminal, the output:
StatusCode        : 200
StatusDescription : OK
Content           : [{"slot":0,"guess":"t","result":"correct"},{"slot":1,"guess":"h","result":"correct"},{"slot":2,"guess":"e","result":"correct"}, 
                    {"slot":3,"guess":"f","result":"correct"},{"slot":4,"guess":"t","result":...
RawContent        : HTTP/1.1 200 OK
                    Content-Length: 211
                    Content-Type: application/json
                    Date: Sun, 26 May 2024 08:27:33 GMT
                    Server: uvicorn

                    [{"slot":0,"guess":"t","result":"correct"},{"slot":1,"guess":"h","result":...
Forms             : {}
Headers           : {[Content-Length, 211], [Content-Type, application/json], [Date, Sun, 26 May 2024 08:27:33 GMT], [Server, uvicorn]}
Images            : {}
InputFields       : {}
Links             : {}
ParsedHtml        : mshtml.HTMLDocumentClass
RawContentLength  : 211

My Python program that guess the words:
"import random
import requests
import json

# Load the word list from a file.
with open("C:/Users/a/Desktop/wordle/valid-wordle-words.txt", 'r') as file:
    word_list = [line.strip() for line in file.readlines()]

# API base URL
base_url = 'https://wordle.votee.dev:8000/random'


# Function to make a guess by calling the API.
def make_guess(guess, seed):
    response = requests.get(f"{base_url}?guess={guess}&seed={seed}") 
    if response.status_code == 200: # Check if the response status code is 200 (OK)
        return response.json() # Return the JSON response
    else:
        print("Failed to call the api.")
        return None # Return None if the request was not successful

# Function to filter the word list based on feedback
def filter_word_list(word_list, feedback):
    new_word_list = word_list[:]  # Create a copy of the current word list
    for feedback_item in feedback: # Iterate through each item in the feedback
        slot = feedback_item["slot"] # The position of the letter in the guessed word (get values of a dict)
        guess = feedback_item["guess"] # The guessed letter
        result = feedback_item["result"] # The result (‘correct’, ‘present’, ‘absent’)

        if result == "correct":
            new_word_list = [word for word in new_word_list if word[slot] == guess] # word is in new_word_list
        elif result == "present":
            new_word_list = [word for word in new_word_list if guess in word and word[slot] != guess]
        elif result == "absent":
            new_word_list = [word for word in new_word_list if guess not in word]
    return new_word_list


# Function to solve the puzzle
def solve_puzzle(seed):
    attempts = 0
    current_word_list = word_list 
    print(f"Words remaining in the list: {len(current_word_list)}")

    while current_word_list:  
        guess = current_word_list[0]  
        print(f"Attempt {attempts + 1}: Guessing '{guess}'...") 
        feedback = make_guess(guess, seed) # Get feedback for the guessed word

        # Check if the API call was successful and we received feedback
        if feedback:
            print(f"Feedback: {feedback}")

            if all(item['result'] == 'correct' for item in feedback):  
                print(f"Solved with guess: {guess}") # Print the solved message
                return guess # Return the correct guess

            current_word_list = filter_word_list(current_word_list, feedback)

            print(f"Words remaining in the list: {len(current_word_list)}") 

            print("Error: No feedback received.")
            return None

        attempts += 1 # Increment the number of attempts

        # Check if attempts exceeded 6 and print failure message if so
        if attempts >= 6:
            print("Failed to solve the puzzle within 6 attempts.")


# Test with one random word
seed = random.randint(0, 1000) # Generate a random seed
print(f"seed:{seed}")
solve_puzzle(seed) # Solve the puzzle using the random seed"
Add a code at last to test with 10 word (from seed 0 to 9) and print the worst case(most number of attempt of 10 words) and mean case (mean number of attempt of 10 words). Be careful of the return of solve_puzzle(seed), the output of solve_puzzle(8) :"Testing seed: 8
Words remaining in the list: 14855
Attempt 1: Guessing 'aahed'...
Feedback: [{'slot': 0, 'guess': 'a', 'result': 'absent'}, {'slot': 1, 'guess': 'a', 'result': 'absent'}, {'slot': 2, 'guess': 'h', 'result': 'absent'}, {'slot': 3, 'guess': 'e', 'result': 'present'}, {'slot': 4, 'guess': 'd', 'result': 'absent'}]
Words remaining in the list: 1879
Attempt 2: Guessing 'bebop'...
Feedback: [{'slot': 0, 'guess': 'b', 'result': 'correct'}, {'slot': 1, 'guess': 'e', 'result': 'present'}, {'slot': 2, 'guess': 'b', 'result': 'present'}, {'slot': 3, 'guess': 'o', 'result': 'absent'}, {'slot': 4, 'guess': 'p', 'result': 'absent'}]
Words remaining in the list: 44
Attempt 3: Guessing 'biers'...
Feedback: [{'slot': 0, 'guess': 'b', 'result': 'correct'}, {'slot': 1, 'guess': 'i', 'result': 'absent'}, {'slot': 2, 'guess': 'e', 'result': 'present'}, {'slot': 3, 'guess': 'r', 'result': 'absent'}, {'slot': 4, 'guess': 's', 'result': 'absent'}]
Words remaining in the list: 8
Attempt 4: Guessing 'blume'...
Feedback: [{'slot': 0, 'guess': 'b', 'result': 'correct'}, {'slot': 1, 'guess': 'l', 'result': 'present'}, {'slot': 2, 'guess': 'u', 'result': 'present'}, {'slot': 3, 'guess': 'm', 'result': 'absent'}, {'slot': 4, 'guess': 'e', 'result': 'correct'}]
Words remaining in the list: 3
Attempt 5: Guessing 'bugle'...
Feedback: [{'slot': 0, 'guess': 'b', 'result': 'correct'}, {'slot': 1, 'guess': 'u', 'result': 'correct'}, {'slot': 2, 'guess': 'g', 'result': 'present'}, {'slot': 3, 'guess': 'l', 'result': 'present'}, {'slot': 4, 'guess': 'e', 'result': 'correct'}]
Words remaining in the list: 1
Attempt 6: Guessing 'bulge'...
Feedback: [{'slot': 0, 'guess': 'b', 'result': 'correct'}, {'slot': 1, 'guess': 'u', 'result': 'correct'}, {'slot': 2, 'guess': 'l', 'result': 'correct'}, {'slot': 3, 'guess': 'g', 'result': 'correct'}, {'slot': 4, 'guess': 'e', 'result': 'correct'}]
Solved with guess: bulge" don't modify the other part of my code.