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 - [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor