On Mon, Sep 24, 2012 at 3:13 PM, Aija Thompson <aijathomp...@hotmail.com> wrote: > > ft, inches = h. split("'") > h_sum = float(12*int(ft)) + (int(inches.strip('"'))
Leave h_sum as an int: h_sum = 12 * int(ft) + int(inches.strip('"')) A better name here would be "h_inch". Also, make sure your parentheses are closed. You have an extra left parenthesis in your expression. A good editor will highlight matching parentheses. > BMI = float(703*w)/float(h_sum*h_sum) w is a string. Multiplying a string by N gives you a new string containing N copies. For example, 703 copies of "180" is a number string beyond the range of a float, so the result is inf (infinity). You need to convert w to an int before multiplying. Also, the expression is evaluated from left to right (based on standard order of operations) and will return a float if you start with the constant 703.0. For example 703.0 * 180 / (72 * 72) == 24.40972222222222. Here's the revised expression: BMI = 703.0 * int(w) / (h_sum * h_sum) Finally, you can round the BMI before printing, say to 2 decimal places: print 'Your BMI is:', round(BMI, 2) But using string formatting would be better: print 'Your BMI is: %.2f' % BMI _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor