Ваш код потерпит неудачу, если 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 не автоматически становится кортежем, если кортеж будет иметь только один элемент. (expr)
эквивалентно expr
. (expr, )
эквивалентен одноэлементному кортежу с expr
в качестве первого элемента. Поэтому попробуйте добавить запятую после self.turnnow
во втором операторе print
.