1 | """A guessing game
|
---|
2 |
|
---|
3 | Pick a random number between 1 and 10
|
---|
4 | and ask someone to guess what it is.
|
---|
5 | """
|
---|
6 |
|
---|
7 | import random
|
---|
8 |
|
---|
9 |
|
---|
10 | class GuessingGame:
|
---|
11 | """A simple guessing game."""
|
---|
12 |
|
---|
13 | def __init__(self, start=1, end=10):
|
---|
14 | self._start = start
|
---|
15 | self._end = end
|
---|
16 | self._secret_number = self.pick()
|
---|
17 |
|
---|
18 | def pick(self):
|
---|
19 | """Pick a random numner."""
|
---|
20 | i = random.randint(self._start, self._end)
|
---|
21 | return i
|
---|
22 |
|
---|
23 | def ask(self):
|
---|
24 | """Ask the user to guess a number.
|
---|
25 |
|
---|
26 | May raise a ValueError on invalid input.
|
---|
27 | """
|
---|
28 | answer = input("Pick a number from %d to %d: "
|
---|
29 | % (self._start, self._end))
|
---|
30 | i = int(answer)
|
---|
31 | return i
|
---|
32 |
|
---|
33 | def play(self):
|
---|
34 | """Play the game."""
|
---|
35 | while True:
|
---|
36 | try:
|
---|
37 | answer = self.ask()
|
---|
38 | except ValueError:
|
---|
39 | print("You gave up in frustration!")
|
---|
40 | break
|
---|
41 | if answer == self._secret_number:
|
---|
42 | print("Awesome!")
|
---|
43 | break
|
---|
44 | else:
|
---|
45 | print("Wrong, guess again.")
|
---|
46 |
|
---|
47 |
|
---|