Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import argparse
- from random import shuffle
- def randomize_roles(names, roles, outputName):
- print u'Shuffling roles...'
- shuffle(roles)
- with open(outputName, 'w') as outputFile:
- for name, role in zip(names, roles):
- line = u'{name} the {role}'.format(name=name, role=role)
- print line
- outputFile.write(line + u'\n')
- def get_names_and_roles(namesFile, rolesFile):
- roleList, nameList = [], []
- with open(rolesFile, 'r') as roles, open(namesFile, 'r') as names:
- for name in names:
- role = roles.readline().strip()
- name = name.strip()
- nameList.append(name)
- roleList.append(role)
- return nameList, roleList
- if __name__ == "__main__":
- parser = argparse.ArgumentParser()
- parser.add_argument("--namesFile", default="names.txt", help="Name of the file containing list of players. Each new line must contain only the name of a player. default: %(default)s")
- parser.add_argument("--rolesFile", default="roles.txt", help="Name of the file containing the list of roles. This file must contain the same number of lines as nameFile. default: %(default)s")
- parser.add_argument("--outputFile", default="assignment.txt", help="Name of the output file. Will be created if it does not exist. Overwritten if it does exist. default: %(default)s")
- args = parser.parse_args()
- names, roles = get_names_and_roles(args.namesFile, args.rolesFile)
- randomize_roles(names, roles, args.outputFile)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement