test/eriks/GuessNumber/guess_number.py

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!')