[EMAIL PROTECTED] wrote: > 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.
Hasn't anyone TRIED the code? I did, with a = 30 and c = 'x' radius comes out as 250. So it seems the problem is somewhere else and not in this bit of code. -- http://mail.python.org/mailman/listinfo/python-list