Random Fun and Games: Go Ahead, Take a Chance! 107
a lowest number and a highest number in the parentheses will
tell randint() what range to choose randomly from. Type the fol-
lowing in IDLE:
>>> import random
>>> random.randint(1, 10)
Python will respond with a random number between 1 and 10,
inclusive (which means the random number can include 1 and 10).
Try the random.randint(1, 10) command a few times and see the dif-
ferent numbers you get back. (Tip: you can use alt-P, or control-P
on a Mac, to repeat the most recently entered line without having
to type it all again.)
If you run that line enough (at least 10 times), you’ll notice
that numbers sometimes repeat, but there’s no pattern in the num-
bers as far as you can tell. We call these pseudorandom numbers
because they’re not actually random (the randint command tells the
computer what number to “pick” next based on a complex math-
ematical pattern), but they seem random.
Let’s put the random module to work in a program called
GuessingGame.py. Type the following in a new IDLE window or
download the program from http://www.nostarch.com/teachkids/:
GuessingGame.py
u import random
v the_number = random.randint(1, 10)
w guess = int(input("Guess a number between 1 and 10: "))
x while guess != the_number:
y if guess > the_number:
print(guess, "was too high. Try again.")
z if guess < the_number:
print(guess, "was too low. Try again.")
{ guess = int(input("Guess again: "))
| print(guess, "was the number! You win!")
At u, we import the random module, which gives us access to all
functions defined in random, including randint(). At v, we write the
module name, random, followed by a dot and the name of the func-
tion we want to use, randint(). We pass randint() the arguments
1 and 10 so it generates a pseudorandom number between 1 and 10,
and we store the number in the variable the_number. This will be
the secret number the user is trying to guess.