Python中没有足够的参数错误,我该怎么做才能解决这个问题?

时间:2011-02-04 22:57:43

标签: 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)

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:6)

您需要提供另一个地方来放置第二个字符串。来自python docs:

  

如果格式需要一个参数,   值可以是单个非元组   宾语。 [4]否则,必须是值   一个正确数量的元组   格式字符串指定的项目,   或单个映射对象(for   例如,字典)。

所以你想要的例子是:

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

当然假设self.level是一个字符串。如果它是其他值类型,那么您想要交换适当的字符串格式值。 (%d表示整数等)。