In Python 2.7:
a=80
b=100
def status(hp, maxhp):
print "You are at %r percent health." % hp*100/maxhp
status(a,b)
Returns:
TypeError: unsupported operand type(s) for /: 'str' and 'int'
I've already tried putting int() around each variable and each combination of variables.
%
operator has higher precedence than *
or /
.
What you meant is:
"You are at %r percent health." % (hp * 100 / maxhp)
What you got is:
("You are at %r percent health." % hp) * 100 / maxhp
Edit: actually, I'm wrong. They have the same precedence and thus are applied left to right.
Docs: operator precedence
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With