Skip to content

Instantly share code, notes, and snippets.

@efecarranza
Created October 25, 2018 20:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save efecarranza/dd37848dcf9db26c93c557808bd2f74e to your computer and use it in GitHub Desktop.
Save efecarranza/dd37848dcf9db26c93c557808bd2f74e to your computer and use it in GitHub Desktop.
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