Task:Simulation of a simple die-rolling game,where we keep rolling a six-sided die until we have rolled a total of 20.
To simulate a six-sided die roll, we need a way to generate a random integer between 1 and 6. The random module in Python’s standard library provides us with various functions to generate random numbers. The function that we’ll use to write this program is the randint() function, which generates a random integer in a given range.
The randint() function takes two integers as arguments and returns a random integer that falls between these two numbers (both inclusive). Calling the randint() function allows us to simulate the roll of our
virtual die. Every time we call this function, we’re going to get a number between 1 and 6, just as we would if we were rolling a six-sided die. So,now we write our program:
import os,sys
import random
#Roll a die until the total score is 20
target_score = 20
def roll():
return random.randint(1,6)
score = 0
num_rolls = 0
while (score < target_score):
die_roll = roll()
num_rolls = num_rolls+1
print('Rolled: {0}'.format(die_roll))
score = score + die_roll
print('Score of {0} reached in {1} rolls'.format(score,num_rolls))
Example Output
Rolled: 4
Rolled: 2
Rolled: 6
Rolled: 4
Rolled: 6
Score of 22 reached in 5 rolls
Note:The format() method lets you plug in labels and set it up so that they get
printed out in a nice, readable string with extra formatting around it.