42 lines
1022 B
Python
42 lines
1022 B
Python
import random
|
|
|
|
class GuessNumber():
|
|
def __init__(self, number, mn=0, mx=100):
|
|
self.guesses = 0
|
|
self.number = number
|
|
self.min = mn
|
|
self.max = mx
|
|
|
|
def get_guess(self):
|
|
guess = input(f'Guess a number ([{self.min}, {self.max}]): ')
|
|
|
|
if self.is_valid_guess(guess):
|
|
return int(guess)
|
|
else:
|
|
print('Please enter a valid number!')
|
|
return self.get_guess()
|
|
|
|
def is_valid_guess(self, guess):
|
|
try:
|
|
guess = int(guess)
|
|
except:
|
|
return False
|
|
|
|
return self.min <= guess <= self.max
|
|
|
|
def play(self):
|
|
while True:
|
|
self.guesses += 1
|
|
|
|
guess = self.get_guess()
|
|
|
|
if guess < self.number:
|
|
print('Your guess was under.')
|
|
elif guess > self.number:
|
|
print('Your guess was over.')
|
|
else: # They guessed it
|
|
break
|
|
|
|
print(f'You guessed it in {self.guesses} tries!')
|
|
|