![]() |
| ||
| number game #Guess my number #The computer picks a random number between 1 and 100 #the player tries to guess it an dhte computer lets #the player know if the guess is too hight, 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" #this is the end #this is a copy of the script run on python >>> #Guess my number ... >>> #The computer picks a random number between 1 and 100 ... #the player tries to guess it an dhte computer lets ... #the player know if the guess is too hight, too low ... #or right on the money ... >>> import random >>> >>> print "\tWelcome to 'Guess My Number'!" Welcome to 'Guess My Number'! >>> print "\nI'm thinking of a number between 1 and 100." I'm thinking of a number between 1 and 100. >>> print "Try to guess it in as few attempts as possible. \n" Try to guess it in as few attempts as possible. >>> >>> #set the initial values ... >>> the_number = random.randrange(100) + 1 >>> guess = int(raw_input("Take a guess: ")) Take a guess: tries = 1 Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: 'tries = 1' >>> >>> #guessing loop ... >>> while (guess != the_number): ... if (guess > the_number) File "<stdin>", line 2 if (guess > the_number) ^ SyntaxError: invalid syntax >>> print "Lower..." File "<stdin>", line 1 print "Lower..." ^ IndentationError: unexpected indent >>> else: File "<stdin>", line 1 else: ^ IndentationError: unexpected indent >>> print "Higher..." File "<stdin>", line 1 print "Higher..." ^ IndentationError: unexpected indent >>> >>> guess = int(raw_input("Take a guess: ")) Take a guess: tries += 1 Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: 'tries += 1' >>> >>> print "You guessed it! the number was", the_number You guessed it! the number was 18 >>> print "And it only took you", tries, "tries!\n" And it only took you Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'tries' is not defined Running Ubuntu Gutsy gibbons, and emacs I have checked the code carefully but can't get past the first traceback error. Thanks for any help. |
| ||
| Re: number game Use code tags, please. And try declaring triesas an integer at the start of your application. |
| ||
| Re: number game This is the code - 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.") Now the problem is how do you limit the amount of guesses. |
| ||
| Re: number game Use code tags: [code=python] #Code in here [/code] This will make your code readable for us forum members, which in turn helps us to solve your problem. In order to limit the number of guesses, you should be using an if guesses == allowed_guesses:statement, or something similar. |
| ||
| Re: number game I set the amount of tries to less than 3 ,however when I make more than 3 guesses it won't up the message. What did I do wrong? # Guess My NumberEditor's note: Please use code tags with your code to preserve the indentations. Otherwise the code is very difficult to read and not too many folks will help. [code=python] your Python code here [/code] |
| ||
| Re: number game Quote:
Change the loop to while True. Omit the first guess. Initialize tries to 0, and increment tries after guess. Modify your if/else to if/elif/else. The else is for a correct guess --> break. If the user made 3 guesses --> break. import random |
| ||
| Re: number game Oops! Accidental duplicate post. |
| ||
| Re: number game Thanks only had to make 1 correction. Had to set If tries > 3: Because If tries = = 3: it would only allow up to 2 guesses. |
| ||
| Re: number game Are you referring to the code I posted?. Variable tries is equal to 3 after 3 guesses. Are you going to allow 4 guesses? |
| ||
| Re: number game Quote:
When I set it to tries > 3 then it would allow 3 guesses. Are you getting a different result? |
| All times are GMT -4. The time now is 9:49 am. |
Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC