Ben wrote:
This is an exercise from the Non-programmers tutorial for Python
by Josh Cogliati.

The exercise is:

Write a program that has a user guess your name, but they only get 3
chances to do so until the program quits.

Here is my script:

--------------------------

count = 0
name = raw_input("Guess my name. ")

while name != 'Ben' and count < 3:
    count = count + 1

    if name != 'Ben' and count < 3:
        name = raw_input('Guess again. ')
    elif name == 'Ben' and count < 3:
        print "You're right!"
    else:
        print 'No more tries.'

----------------------------------

Everything works except the line:  print "You're right!"

Could someone tell me what is wrong

The code within the while loop (i.e., everything indented) is executed only if the while condition is true, i.e., name != Ben and count < 3


So name == 'Ben': will always be false and "You're right!" will never get 
printed



and give me a better alternative to
what I came up with.

Just a hint: you may find a cleaner solution if you separate the tests for name from the test for count.


Thank you

Ben

HTH

Michael

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to