我正在制作一个类似于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,它显示实际数字就好了,但是当它在我制作的代码行中时,它不起作用。问题是什么?
答案 0 :(得分:0)
%s
是字符串的format string。尝试使用%d
(数字)表示数字。
或者,您可以使用:
self.wood = "Wood x%s" % str(self.woodcount)
首先将整数转换为字符串。请注意,我删除了无关的括号,因为它们不需要。