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