Python库存问题

时间:2014-06-30 02:07:14

标签: python string-formatting

我正在制作一个类似于Minecraft RPG Type交易的基于文本的游戏,只是为了好玩。除了一件事,我有一个完全工作的库存。例如,当你检查你的库存时,我希望它说,“Wood x2”2是金额,如果你有2,或者你有多少。所以,我将self.wood(木制品)设置为self.wood =“Wood x%s”%self.woodcount(木材的数量)。你可以在这里看到代码:

def cinventory(self):
    print(self.woodcount)
    self.wood = ("Wood x%s" % self.woodcount)
    print("---------------------------------")
    print("            Inventory            ")
    for x in self.inventory:
        print(x)
    print("---------------------------------")

问题是,即使你有更多,它也会打印Wood x0。它始终打印为零。我甚至在打印你的库存之前打印了woodcount,它显示实际数字就好了,但是当它在我制作的代码行中时,它不起作用。问题是什么?

1 个答案:

答案 0 :(得分:0)

%s是字符串的format string。尝试使用%d(数字)表示数字。

或者,您可以使用:

self.wood = "Wood x%s" % str(self.woodcount)

首先将整数转换为字符串。请注意,我删除了无关的括号,因为它们不需要。