On 13/03/2013 12:21, Peter Otten wrote:
Shall, Sydney wrote:

I am also a newbie, but I wish to learn, so I offer the following
corrections.
# Note. I do note know what units you are using.
# I would use scientific, metric units. So you need to divide both
weight and height by a suitable conversion factors.
# Then you will not need the number 703.0, and the units in the second
and third lines would be Kg/m. [Kilogram/Metre)

def calc_BMI(weight,height):
      bmi = (weight/(height*height))*703.0
      print 'Your BMI is : ', BMI 'weight units/height units.' # You need
to put the correct text here.
      if bmi <=18.5:
          print 'underweight'
      if  18.5 <= bmi <= 24.9:
          print 'normal weight'
      if  25.0 <= bmi <= 29.9:
          print 'overweight'
      if bmi >= 30:
          print 'obese'
      return
A problem that I have not seen addressed yet:

What will this print for the guy who is 75.0 in high and weighs 200.0 lb?

His bmi is

height = 75.0
weight = 200.0
weight/(height*height)*703.0
24.995555555555555

That's neither normal nor overweight, according to your categorisation.

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Yes, you are right, of course.
Thanks for reminding me that we are dealing with floats.
I should have used approximations, with an (epsilon) error range.
I will remember if future, I hope.

Sydney

--
Professor Sydney Shall,
Department of Haematological Medicine,
King's College London,
Medical School,
123 Coldharbour Lane,
LONDON SE5 9NU,
Tel & Fax: +44 (0)207 848 5902,
E-Mail: sydney.shall,
[correspondents outside the College should add; @kcl.ac.uk]
www.kcl.ac.uk


_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to