On 04/08/11 00:16, David wrote:
After all, my_weight is a number that can be multiplied by a float. I would expect Python to evaluate the expression after the (final) operator and then having it inserted into the string.
But it doesn't because the % format operator has a higher precedence. So it sees the line as (string % value) * number But you want string % (value * number) So you need parens to force it to see things your way.
print "My weight in pounds is %d" % my_weight * 2.20462262 python weight.py Traceback (most recent call last): File "weight.py", line 4, in<module> print "My weight in pounds is %d" % my_weight * 2.20462262 TypeError: can't multiply sequence by non-int of type 'float'
-- Alan G Author of the Learn to Program web site http://www.alan-g.me.uk/ _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor