On Nov 22, 12:33 pm, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote: > On 22 Nov, 12:09, Neil Webster <[EMAIL PROTECTED]> wrote: > > > > > Hi all, > > > I'm sure I'm doing something wrong but after lots of searching and > > reading I can't work it out and was wondering if anybody can help? > > > I've got the following block of code: > > if a >= 20 and a < 100: > > if c == "c": > > radius = 500 > > else: > > radius = 250 > > elif (a >= 100) and (a < 500): > > radius = 500 > > elif (a >= 500) and (a < 1000): > > radius = 1000 > > elif (a >= 1000) and (a < 3000): > > radius = 1500 > > elif (a >= 3000) and (a < 5000): > > radius = 2000 > > else: > > radius = 4000 > > > No matter what value goes in for 'a' the radius always comes out as > > 4000. > > > What am I doing wrong? > > > Cheers > > > Neil > > as Oliver pointed out, check if you're not compairing "a" as a string > > I wanted to let you know that you can write the above conditions in a > more natural way, using the a<x<b idiom > > e.g. > > x=int(raw_input("write a number")) > if 5<=x<30: > print 'x is between 5 and 30'
Argh, I really dislike raw_input. Though it helps to remind me to use Try:Except blocks a lot. -- http://mail.python.org/mailman/listinfo/python-list