Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def dice(number, sides=6):
- total = 0
- for _ in range(number):
- total += random.randrange(1, sides+1)
- return total
- # I'm calling randrange once _each time through the loop_,
- # so I'm getting <number> different random numbers, and
- # adding them together. (I used randrange instead of choice
- # so you don't have to keep around a list of 4 numbers for
- # a d4, and a list of 6 numbers for a d6, and so on.)
- # Use it like this:
- strength = dice(3, 6)
- intelligence = dice(3, 6)
- wisdom = dice(3, 6)
- dexterity = dice(3, 6)
- constitution = dice(3, 6)
- charisma = dice(3, 6)
- # Each of these six variables will end up with a different
- # number from 3-18. (Well, it's _possible_ they'll all be
- # the same, just rare--just as it's possible, but rare, to
- # roll the same number over and over with real dice.)
- ###
- # A cleaner and more idiomatic implementation might be:
- def die(sides=6):
- return random.randrange(1, sides+1)
- def dice(number, sides=6):
- return sum(die(sides) for _ in range(number))
- # You use it the exact same way
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement