DEV Community

jkaplan15
jkaplan15

Posted on

Building a Fantasy Football Mock Draft Simulator in Python

Introduction:

Fantasy football mock draft simulators are a valuable tool for fantasy football enthusiasts to practice their drafting skills, experiment with different strategies, and prepare for the real draft day. In this blog post, we will walk you through the process of creating a simple yet effective fantasy football mock draft simulator in Python.

Step 1: Define the Player Data

To begin, we need to define the player data, including player names, positions, projected points, and average draft positions (ADP). We can represent this data using a list of dictionaries, where each dictionary corresponds to a player.

#Sample player data
players = [

    {"name": "Player A", "position": "RB", "projected_points": 
    200, "adp": 1},
    {"name": "Player B", "position": "QB", "projected_points": 
    180, "adp": 2},
    {"name": "Player C", "position": "WR", "projected_points": 
    170, "adp": 3},
    # Add more players as needed

Enter fullscreen mode Exit fullscreen mode

Step 2: Initialize the Draft Simulator

Next, let's create a function to initialize the draft simulator. This function will set up the necessary variables to conduct the mock draft, such as the draft order and the number of rounds.

def initialize_mock_draft():
    draft_order = ["Team A", "Team B", "Team C", "Team D"]    # Replace with your team names
    drafted_players = []
    rounds = 15  
# Adjust the number of rounds based on your league settings

    return draft_order, drafted_players, rounds

Enter fullscreen mode Exit fullscreen mode

Step 3: Implement the Draft Algorithm

The draft algorithm will be the heart of our simulator. It will determine each team's draft pick based on their position needs and player rankings.

def draft_pick(team, available_players, drafted_players):
    best_player = None
    for player in available_players:
        if player not in drafted_players:
            if best_player is None or player['adp'] < best_player['adp']:
                best_player = player

    drafted_players.append(best_player)
    return best_player

Enter fullscreen mode Exit fullscreen mode

Step 4: Run the Draft Simulation

With the initialization and draft pick functions in place, we can now run the mock draft simulation.

def run_mock_draft():
    draft_order, drafted_players, rounds = initialize_mock_draft()
    available_players = players.copy()

    for round in range(1, rounds + 1):
        print(f"--- Round {round} ---")
        for team in draft_order:
            print(f"{team}'s Pick:")
            picked_player = draft_pick(team, available_players, drafted_players)
            print(f"Selected: {picked_player['name']} ({picked_player['position']})")
            print("-----------------------")

if __name__ == "__main__":
    run_mock_draft()

Enter fullscreen mode Exit fullscreen mode

Conclusion:

By defining player data, initializing the simulator, implementing the draft algorithm, and running the simulation, you now have a tool to practice and refine your fantasy football draft strategy.

Top comments (0)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.