On 11/12/14 04:20, Matthew Nappi wrote:

(code pasted below); however if a player guesses the right number they
still receive an ending message indicating that they failed.  How can I
modify the code without using any advanced techniques to have a different
message in the event of a successful guess?  Thanks in advance!

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")

the_number = random.randint(1, 100)
guess = int(input("Take a guess: "))
tries = 1

while guess != the_number and tries < 10:
     if guess > the_number:
         print("Lower...")
     elif guess < the_number:
         print("Higher...")
     else:
         print("You win.")
     guess = int(input("Take a guess: "))
     tries += 1

So far so good, except that you probably don;t want
the winner to have to input another number after
being told he already won.

You can avoid that by making the initial value for
guess be something invalid, then move the input
line to the top of the while loop:

guess = 0

while guess != the_number and tries < 10:
    guess = int(input("Take a guess: "))
    tries += 1
    ... the if/else code here.

print("You fail!  The number was", the_number)

But you always print this regardless of the result.
You need to put a test around it to check whether
the guess equals the number and only print this
if it is not.


--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos


_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to