faubiguy

dice.py

Jul 29th, 2016
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.73 KB | None | 0 0
  1. #!/usr/bin/python3
  2. import argparse, random, sys
  3.  
  4. argparser = argparse.ArgumentParser()
  5. argparser.add_argument('die', default='1d6')
  6. argparser.add_argument('-n', '--count', type=int, default=1)
  7. args = argparser.parse_args()
  8.  
  9. def parse_die(die):
  10.     if 'd' in die:
  11.         number, sides = map(int, die.split('d', 1))
  12.     else:
  13.        number = int(die)
  14.        sides = 6
  15.     return number, sides
  16.  
  17. try:
  18.     number, sides = parse_die(args.die)
  19. except ValueError:
  20.     sys.exit('Invalid die: \'{0}\''.format(args.die))
  21.  
  22. die = '{0}d{1}'.format(number, sides)
  23.  
  24. for i in range(args.count):
  25.     rolls = [random.randrange(sides)+1 for j in range(number)]
  26.     print('{0}: {1} = {2}'.format(die, '+'.join(map(str,rolls)), sum(rolls)))
Advertisement
Add Comment
Please, Sign In to add comment