2013-01-17 67 views

回答

7

%運營商的優先級高於*/

你的意思是:

"You are at %r percent health." % (hp * 100/maxhp) 

你得到了什麼是:

("You are at %r percent health." % hp) * 100/maxhp 

 

編輯:其實,我錯了。它們具有相同的優先級,因此從左到右應用。

Docs: operator precedence

+0

謝謝,我從來沒有告訴我們,模量被認爲在這種情況下的操作,或者它的操作順序站。我最終通過製作另一個變量並將其送入字符串來修復它。 – foltor

+0

爲更正確的答案進行編輯。 –

0

需要環繞表達括號,所以它想有代入字符串結果之前充分評估。

類似:

print "my string with this '%d' value" % (hp * 100/maxhp) 
相關問題