Okay, so, I wanted to set up this fantasy football league with my buddies, and the first big hurdle was figuring out the draft order. I didn’t want to just go with some boring, predictable method. No way! I needed something random, something fun. So I started digging around.
First off, I toyed with the idea of doing something with a horse race. I thought we could pick a race, assign everyone a horse based on last year’s standings, and then use the race results to determine the draft order. It sounded cool in theory, but getting everyone to agree on a race and watch it together was going to be a pain. And there is a race course nearby, so it’s easy to implement, but it’s still troublesome. Scrapped that.
Then, I spent some time thinking about the best draft strategy. I read somewhere that starting with a running back (RB) or tight end (TE) in the first two rounds is a smart move. Apparently, going RB, TE; TE, RB; or RB, RB gives you a bit of an edge. Good to know, but that didn’t really help me with the randomization part. But that’s really a good point to keep, I must remember that.
I kept searching and found some talk about “snake” draft ordering. The idea is that the order reverses each round to balance things out. So, if you pick last in the first round, you pick first in the second round. Makes sense, and I decided to go with that for sure. We have used this rule several times.
But the big question remained: how to randomize the initial order? I stumbled upon this website. It promised a “neutral” way to randomize the draft order. You just schedule a time, share a link, and boom, it’s done. Sounds easy, but I am not into web service, call me old fashion, I just hate URL thing, I prefer desktop app if possible, it’s much easier to manage and operate. This is just one of the online tools. I kept looking and found something called “DraftPickLottery.” This one is also free, not bad. It even offered different draft styles, like “straight” or “weighted.” Interesting, but still, I had to pass that.
Code it myself!
Finally, I decided, “You know what? I’ll just code this thing myself.” I’m not a pro or anything, but I know a bit of Python. So I fired up my editor and started hacking away.
First, I needed a way to store the names of all the players in my league. A simple list did the trick:
-
players = ["Alice", "Bob", "Charlie", "Dave", "Eve", "Frank", "Gina", "Harry"]
Next, I used Python’s random
module to shuffle the list. This is the core of the randomization process:
-
import random
-
*(players)
After shuffling, the players
list was all mixed up. I then looped through the list and assigned each person their draft position. I also decided to implement the snake order. To do this, I created a new list called draft_order
and appended each player to it. Then, I reversed the players
list and appended it again to draft_order
. I repeated this process until I had enough picks for each round of the draft.
Here’s a simplified version of that logic:
-
draft_order = []
-
num_rounds = 5
-
for _ in range(num_rounds):
-
draft_*(players)
Finally, I just printed out the results in a nice, easy-to-read format. I made it show the round number and who gets to pick in each slot. And I did it!
It wasn’t perfect, but it worked! I sent the results to my buddies, and they loved it. We had our randomized, snake-style draft order, and it was all thanks to a little bit of Python and a lot of determination. And we all feel great about it!