有没有办法将多个字符串添加到 Text 对象? (泽尔图形)

Is there a way to add multiple strings to a Text object? (Zelle Graphics)

我正在尝试使用 Zelle Graphics 库创建一个包含多个字符串的文本对象,但它似乎只接受一个字符串参数。我是这样设置的:

text = Text(Point(250, 250), "You have", x, "remaining")

这是所需的输出(如图 window 所示):

"You have x remaining"

据我从你的问题中了解到你想要这样的东西:

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")

这将打印相同的内容。

您指的是字符串格式。 .format 应该不错 Documentation

您没有说明您正在使用 John Zelle 的 graphics 模块。我知道这在标签中,但最好更明确一点。即使是专家也不能自动了解那里的每个图书馆。

该模块中的 Text class 具有具有以下签名的构造函数:

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))

在早期版本中。