[Tutor] Need a solution.
David
david at abbottdavid.com
Fri Jun 12 06:02:05 CEST 2009
Raj Medhekar wrote:
> I have been having some difficulty modifying this program to where a
> player has limited number of guesses and if he fails to guess correctly
> within that number he is asked to "Try Again" The original program code
> and the code that I modified are given below. Thanks for your help.
>
> Sincerely,
> Raj
>
> The Original program code:
>
> # Guess my number
> #
> # The computer picks a random number between 1 and 100
> # The player tries to guess it and the computer lets
> # the player know if the guess is too high, too low
> # or right on the money
>
> import random
>
> print "\tWelcome to 'Guess My Number'!"
> print "\nI'm thinking of a number between 1 and 100."
> print "Try to guess it in as few attempts as possible.\n"
>
> # set the initial values
> the_number = random.randrange(100)+1
> guess = int(raw_input("Take a guess:"))
> tries = 1
>
> #guessing loop
> while guess != the_number:
> if guess > the_number:
> print "Lower..."
> else:
> print "Higher..."
>
> guess = int(raw_input("Take a guess:"))
> tries += 1
>
> print "You guessed it! The number was", the_number
> print "And it only took you", tries, "tries!\n"
>
> raw_input("\n\nPress the enter key to exit")
>
Hi Raj,
I am also learning Python and never did any real programming before, I
have been attempting to learn about classes, this is my version,
comments, suggestions always welcome.
-david
#!/usr/bin/python
from random import randrange
from sys import exit
class GuessNumber:
def __init__(self):
self.number = randrange(100)+1
self.count_tries = 1
self.total_tries = 5
def update_count(self):
self.count_tries += 1
def guess_number():
gn = GuessNumber()
number = gn.number
tries = gn.total_tries
attempts = gn.count_tries
update_count = gn.update_count()
guess = 'Take a guess: '
question = 'Try again? '
decision = 'Do you want to try again? y/n '
discription = \
"""\n\tWelcome to 'Guess My Number'!
I'm thinking of a number between 1 and 100.
Try to guess it in 5 attempts!\n
"""
print discription
answer = int(raw_input(guess))
while answer != number and attempts < tries:
if answer > number:
print 'Lower ...'
else:
print 'Higher ...'
update_count
print 'You have %i attempts left!' % (tries - attempts)
answer = int(raw_input(guess))
attempts += 1
if answer == number:
print 'You guessed it the number was', number
print 'And it only took you %i attempts' % attempts
choice = raw_input(decision)
if choice == 'y':
choice = choice.lower()
guess_number()
else:
exit()
else:
print 'You did not pick the number!'
print 'The number was', number
choice = raw_input(decision)
if choice == 'y':
choice = choice.lower()
guess_number()
else:
exit()
if __name__ == "__main__":
guess_number()
--
Powered by Gentoo GNU/Linux
http://linuxcrazy.com
More information about the Tutor
mailing list