Chad Everett wrote:
Hey guys,

Hope you can help me again with another problem. I am trying to learn Python on my own and need some help with the following.

I am writing a program that lets has the pc pick a number and the user has five guess to get the number.
1. BUG: If the number is say 35 and I guess 41 the program tells me that I guessed the correct number and tells me I guessed 31.


2.When I do get the correct number I can not get the program to stop asking me for the number.


Your help is greatly appreciated.

Chad

# Five Tries to Guess My Number
#
# The computer picks a random number between 1 and 100
# The player gets Five tries to guess it and the computer lets
# the player know if the guess is too high, too low
# or right on the money
#
# Chad Everett 2/10/2005

import random

print "\tWelcome to 'Guess My Number'!"
print "\nI'm thinking of a number between 1 and 100."
print "You Only Have Five Guesses.\n"

# set the initial values
number = random.randrange(100) + 1
guess = int(raw_input("Go Ahead and Take a guess: "))
tries = 1


# guessing loop


while guess != number:

You actually need a second condition : tries >= 5


if (guess > number): print "Guess Lower..." else: print "Guess Higher..."

The fact that guess is not strictly greater than number doesn't mean it's strictly lower... You should handle 3 cases :
1/ guess > number
2/ guess < number
3/ guess == number


Here the 2/ and /3 are handled by the same branch...

    guess = int(raw_input("Take Another guess: "))
    tries += 1

    print "You guessed it!  The number was", number
    print "And it only took you", tries, "tries!\n"

This will be executed whatever ! This code should be *outside* the loop. (remember that in Python, whitespace is significative...)


(snip)

HTH
--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in '[EMAIL PROTECTED]'.split('@')])"
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to