I have such code in Python:
def send_start(self, player):
for p in self.players:
player[\"socket\"].send_cmd(\'
EDIT: Disregard this answer, it cannot be the problem. Keeping for the comments.
Try if replacing
(self.turnnow)
with
(self.turnnow,)
helps (i.e. adding a trailing comma). The way it is now that's not a tuple and parens are merely decorative. Might not be the case since you didn't provide line number — have to guess.
Your code would fail if self.turnnow
is an empty tuple:
>>> var = ()
>>> print "%s" % (var)
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
TypeError: not enough arguments for format string
>>> print "%s" % (var,)
()
This is because a parenthesized expression in Python does not automatically become a tuple if the tuple would have only one element. (expr)
is equivalent to expr
. (expr, )
is equivalent to a one-element tuple holding expr
as the first element. So, try adding a comma after self.turnnow
in the second print
statement.