-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathguess_game_best_practice.py
More file actions
40 lines (32 loc) · 1.06 KB
/
guess_game_best_practice.py
File metadata and controls
40 lines (32 loc) · 1.06 KB
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
class GuessNumber:
def __init__(self, number, mn=0, mx=100):
self.number = number
self.guesses = 0
self.min = mn
self.max = mx
def get_guess(self):
guess = input(f"Please guess a number ({self.min} - {self.max}): ")
if self.valid_number(guess):
return int(guess)
else:
print("Please enter a valid number.")
return self.get_guess()
def valid_number(self, str_number):
try:
number = int(str_number)
except:
return False
return self.min <= number <= self.max
def play(self):
while True:
self.guesses += 1
guess = self.get_guess()
if guess < self.number:
print("You guess was under.")
elif guess > self.number:
print("Your guess was over")
else:
break
print(f"You guessed it in {self.guesses} guesses.")
game = GuessNumber(56, 0, 100)
game.play()