Created
October 25, 2018 20:18
-
-
Save efecarranza/dd37848dcf9db26c93c557808bd2f74e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import random | |
MAX_TEAMS = 5 | |
back_end = ['Evan Reisman', 'Cort Lyons', 'Rogerio da Silva', 'Bruno Coelho', 'Alireza Golkar', 'Rodrigo Quaresma', | |
'Dimitri Vassiliev', 'Ozan Ackin', 'Josh Brickner', 'Benjamin Matthews'] | |
front_end = ['Paul Parker', 'Noah Drabinsky', 'Balinder Singh', 'Mohammed Alsaid', 'Pouya Sanoeei', 'Angel Garbarino'] | |
qa = ['Jacek Adamczyk', 'Greg McAlpine', 'Justin Siples', 'Warren Tom', 'Paul Ripley', 'Maria Luisa Chau', 'Anna Prokofyev'] | |
product = ['Jackie Newnam', 'Ellen Sutton', 'Colin Chapin', 'Ennis Al-Asaeed', 'Edison Jimenez'] | |
design = ['Kayce Reed-Buechlein', 'Anna Robertson', 'Dasha Gordeeva', 'Jordy Arnouldsen', 'Franko Luk'] | |
devops = ['Marcela Tiznado', 'Robert Ng-Klee', 'Fermin Carranza'] | |
mobile = ['Alex Codrington', 'Dan Kim'] | |
seeds = ['Evan Stenmark', 'Matt Fawcett', 'Brian Graham', 'Michal Zielenkiewicz', 'Chris Zeeb'] | |
teams = dict((seed, []) for seed in seeds) | |
def main(): | |
print('Generating teams\n') | |
be, fe, qa, rest = flatten_lists() | |
add_group_members(be, fe, qa) | |
add_remaining_members(rest) | |
for team, members in teams.items(): | |
print('Team Lead') | |
print(team) | |
print('Members') | |
print(members) | |
print('-----') | |
def add_remaining_members(rest): | |
while(len(rest) > 0): | |
for team, members in teams.items(): | |
if not rest: | |
break | |
rest_member = random.choice(rest) | |
members.append(rest_member) | |
rest.remove(rest_member) | |
def add_group_members(be, fe, qa): | |
while (len(design) > 0): | |
for team, members in teams.items(): | |
be_member = random.choice(be) | |
members.append(be_member) | |
be.remove(be_member) | |
fe_member = random.choice(fe) | |
members.append(fe_member) | |
fe.remove(fe_member) | |
qa_member = random.choice(qa) | |
members.append(qa_member) | |
qa.remove(qa_member) | |
product_member = random.choice(product) | |
members.append(product_member) | |
product.remove(product_member) | |
design_member = random.choice(design) | |
members.append(design_member) | |
design.remove(design_member) | |
def flatten_lists(): | |
small_back_end = random.sample(back_end, MAX_TEAMS) | |
small_front_end = random.sample(front_end, MAX_TEAMS) | |
small_qa = random.sample(qa, MAX_TEAMS) | |
new_be = [item for item in back_end if item not in small_back_end] | |
new_fe = [item for item in front_end if item not in small_front_end] | |
new_qa = [item for item in qa if item not in small_qa] | |
rest = new_be + new_fe + qa + mobile + devops | |
return small_back_end, small_front_end, small_qa, rest | |
if __name__ == '__main__': | |
main() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment