[Tutor] Breaking out of loop...

Alan Gauld alan.gauld at btinternet.com
Fri Nov 20 18:37:51 CET 2009


"Ken G." <beachkid at insightbb.com> wrote

>I am trying to break out of a loop posted below.  When asked for 
>monthdate, it should break out if I entered the number zero and it does 
>not.  GRRR.  Been working on this for almost an hour.
>
>    monthdate = 999
>
>    while monthdate <> 0:

You are comparing monthdate with a number but raw_input returns a string.

Also <> is deprecated, change it to !=

Try

while monthdate != "0":

and it should work.

Except....
>        monthdate = raw_input('Enter the month and date in two digit 
> format each: ')           month = monthdate[0:2]
>        date = monthdate[2:4]
>        year = ('2009')
>        print month, date, year

With this code you always process monthdate so if the user
types zero it will fail.

The idiomatic Python way to do this is:

while True:   # loop "forever"
        monthdate = raw_input('Enter the month and date in two digit 
format each: ')
        if monthdate == "0":
               break    # exit the loop
        month = monthdate[0:2]
        date = monthdate[2:4]
        year = ('2009')
        print month, date, year

That change means you can get rid of the initial assignment to 999 too.

HTH,

-- 
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/ 




More information about the Tutor mailing list