Ich bin ein Spiel von Pong in Pygame schreiben, aber wenn ich versuche, es zu laufen, bekomme ich diesen Fehler, der besagt:Python: Nicht alle während Zeichenfolge Bildung umgewandelt Argumente
TypeError: not all arguments converted during string formatting
Ich bin noch neu in Python und verstehe nicht ganz, was passiert ist. Code von Problem unter:
def displayScore(player1_score, player2_score):
resultSurf = BasicFont.render('Player 1 Score = %s' %(player1_score), True, white)
resultRect = resultSurf.get_rect()
resultRect.topleft = (125, 25)
gameDisplay.blit(resultSurf, resultRect)
resultSurf = BasicFont.render('Player 2 Score = %s' %(player2_score), True, white)
resultRect = resultSurf.get_rect()
resultRect.topleft = (375, 25)
gameDisplay.blit(resultSurf, resultRect)
Es ist in der Regel eine vollständige stacktrace (einen Stapel von Quelldatei angibt/Linien/Funktionen/Ausdrücke), wo etwas schief gelaufen ist, wenn ein solcher Fehler auftritt, vielleicht gut, um es auch in die Frage zu stellen. Für das, was ich sehe, sieht es so aus, als ob Format-Slots und Argumente nicht übereinstimmen, aber besser, einfach den Stack-Trace zu haben. Ah, ist player1_score eine Zeichenfolge oder eine Zahl? – Dilettant
Ist es möglich, dass 'player1_score' oder' player_2score' Tupel sind? – TheLazyScripter
''Player 1 Score =% s'% (player1_score)' ist ein Fehler, der darauf wartet, zu passieren. Entweder Sie übergeben ** einen ** Wert und Sie setzen die Klammern nicht, oder Sie übergeben ein ** Tupel ** und Sie müssen mindestens ein Komma haben: '% (player1_score,)'. Parenthesizes alleine machen kein Tupel, also ist es irreführend, sie dort zu platzieren. – spectras