我正在尝试使用Zelle Graphics库创建具有多个字符串的Text对象,但是它似乎只接受一个字符串参数。这是我的设置方式:
text = Text(Point(250, 250), "You have", x, "remaining")
这是所需的输出(显示在图形窗口中):
“您还剩x个”
答案 0 :(得分:1)
从您的问题中我了解到,您想要这样的东西:
x = 4
print("You have %s of these remaining" % x)
# Output: You have 4 of these remaining
您可以将%s视为占位符,然后将其值分配在字符串之外的%之后。
另一种方式是这样的:
x = 4
print("You have " + str(x) + " of these remaining")
这将打印相同的内容。
答案 1 :(得分:1)
您忽略了解释您正在使用John Zelle的graphics
模块。我知道标记中有此标记,但最好将其明确一点。甚至不能期望专家自动了解那里的每个图书馆。
该模块中的Text
类具有带有以下签名的构造函数:
def __init__(self, p, text):
表示您必须向其传递一个Point
对象和一个字符串。这意味着您不能这样做:
text = Text(Point(250, 250), "You have", x, "remaining")
但是你可以做
text = Text(Point(250, 250), f"You have {x} remaining")
在Python 3.7或
中text = Text(Point(250, 250), "You have {x} remaining".format(x=x))
在早期版本中。
答案 2 :(得分:0)
字符串格式就是您所指的。 .format应该很好Documentation