Problems with if/elif statement syntax
cokofreedom at gmail.com
cokofreedom at gmail.com
Thu Nov 22 06:39:23 EST 2007
On Nov 22, 12:33 pm, "riqu... at gmail.com" <riqu... at gmail.com> wrote:
> On 22 Nov, 12:09, Neil Webster <nswebs... at gmail.com> 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.
More information about the Python-list
mailing list