Python macht String-Multiplikation, wo ich erwarten würde, dass es numerische Multiplikation zu tun, und ich weiß nicht warum.Python String Formatierung und String Multiplikation Oddity
>>> print('%d' % 2 * 4)
2222
>>> print('%d' % (2 * 4))
8
Sogar den Typ zu Integer zwingen tut nichts. (Ich weiß, das ist überflüssig, aber es ist ein Idiot-Check für mich:
>>> print('%d' % int(2) * int(4))
2222
Offensichtlich löste ich mein Problem (durch die Klammer tut es), aber was hier los ist, ob dies nur eine Marotte ist ich? Denken Sie daran, das ist in Ordnung, aber ich würde lieber die Logik dahinter verstehen.
Nicht so elegant, um meine eigene Antwort zu akzeptieren, so Karl bekommt den Scheck für die meisten prägnanten und richtigen Antwort. – Schof
"so, dass sie von links nach rechts gruppieren", und zwar deshalb, weil die Gruppe "*", "%" von Operatoren links-assoziativ ist. "**" Gruppen von rechts nach links – newacct
"Sie haben Vorrang für den Operator." Ist das etwas, um einen Arzt zu sehen? – balpha