我在Python中有这样的代码:
def send_start(self, player):
for p in self.players:
player["socket"].send_cmd('<player id="%s" name="%s" you="%s" avatar="*.png" bank="%s" />'%(self.players.index(p)+1, p['name'], int(player["pid"]==p["pid"]), 0))
player["socket"].send_cmd('<game playerid="%s" />'%(self.turnnow))
player["socket"].send_cmd("<start />")
错误就在这篇文章的标题中。怎么了?
如果出现以下情况,您的代码将会失败self.turnnow
是一个空元组:
>>> 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,)
()
这是因为 Python 中的括号表达式会not如果元组只有一个元素,则自动成为元组。(expr)
相当于expr
. (expr, )
相当于一个单元素元组expr
作为第一个元素。所以,尝试在后面添加一个逗号self.turnnow
在第二print
陈述。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)