-
Notifications
You must be signed in to change notification settings - Fork 0
/
practice.py
92 lines (73 loc) · 2.62 KB
/
practice.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# a python project to practice on
# run in shell with: python practice.py
#make a simple guessing game and see how this setup works for coding
#it is a game where the computer chooses a number between two values and you have to guess it
# each turn you will make a guess and the computer will tell you if you were high or low
##
# This will be a convenience function that will get the users input
# it should check to see if it is valid, if it is invalid it will repeatedly
# ask the user for input until it is valid
# only integer numbers are valid input
#
# prompt - a string, that will be printed out before asking for input
# returns a number (not a string)
import random
from sys import exit
def get_numbered_input(self, prompt) :
pass
class Game(object):
##
# initializes the game object
#
# low - the lower bound on possible numbers to choose
# high - the upper bound on possible numbers to choose
#
def __init__(self, low, high) :
self.low = low
self.high = high
##
#this method should go through a loop until the user wins or loses
#
# max_guesses - if the user makes more guesses than this they should lose
def play_game(self, max_guesses) :
self.chosen_number = self.choose_number()
for i in xrange(max_guesses):
guess = int(raw_input("Guess: "))
if self.is_correct(guess):
print "You guessed correctly!"
exit(0)
else:
print "Incorrect"
print "You took too many guesses..."
##
# this should pick a random number between the low and high values, and store it in
# the variable self.number
#
# post - self.number exists and is set to a random number between self.low and self.high
def choose_number(self) :
self.number = random.randrange(self.low, self.high)
return self.number
##
#
# returns true if the guess passed in is correct, false otherwise
def is_correct(self, guess) :
if guess == self.chosen_number:
return True
else:
return False
##
#
# returns true if the guess passed in is greater than the chosen number, false otherwise
def is_high(self, guess) :
pass
##
#
# TODO: perhaps prompt the user what the range and number of guesses should be before starting the game?
def main():
print "\nThis is a guessing game. You will pick an upper bound and a lower bound,\nand then " \
"try to guess the number I pick.\n"
l = int(raw_input("Enter a lower bound: "))
u = int(raw_input("Enter an upper bound: "))
game = Game(l, u)
game.play_game(5)
main()