2011-02-04 4 views
1

Ошибка:Недостаточно аргументов в Python, что мне делать, чтобы исправить это?

Traceback (most recent call last): 
    File "C:\Python26\Lib\idlelib\full_rpg.py", line 145, in <module> 
    Commands[c](p) 
    File "C:\Python26\Lib\idlelib\full_rpg.py", line 57, in status 
    print "%s's Level:" % (self.name, self.level) 
TypeError: not all arguments converted during string formatting 

Код строки, которая вызывает ошибку:

print "%s's Level:" % (self.name, self.level) 

Как бы это исправить?

+0

Вы не серьезно, не так ли? Вы не можете подсчитать количество '%'? S? –

ответ

6

Вам нужно указать другое место, чтобы положить вторую строку. Из питона документации:

If format requires a single argument, values may be a single non-tuple object. [4] Otherwise, values must be a tuple with exactly the number of items specified by the format string, or a single mapping object (for example, a dictionary).

Таким образом, для вашего примера вы хотите:

"%s's Level: %s" % (self.name, self.level) 

Предполагая, конечно, что self.level является строкой. Если это какой-то другой тип значения, то вы хотите поменять его в соответствующем значении форматирования строки. (% d для целых чисел и т. д.).

+0

Спасибо за ваш ответ, он работает! –

Смежные вопросы