有没有一种方法可以将多个字符串添加到Text对象? (Zelle图形)

时间:2019-01-05 15:50:16

标签: python zelle-graphics

我正在尝试使用Zelle Graphics库创建具有多个字符串的Text对象,但是它似乎只接受一个字符串参数。这是我的设置方式:

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

这是所需的输出(显示在图形窗口中):

“您还剩x个”

3 个答案:

答案 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