如何在Python中将布尔值连接到字符串?


77

我要完成以下工作

answer = True
myvar = "the answer is " + answer

并将myvar的值设为“答案为True”。我很确定您可以使用Java做到这一点。


FYI:布尔变量是资本在Python(真,假)
Jordonias

Answers:


14

推荐的方法是str.format处理转换(docs)。%s最终可能不推荐使用替换方法(请参阅PEP3101)。

>>> answer = True
>>> myvar = "the answer is {}".format(answer)
>>> print(myvar)
the answer is True

在Python 3.6+中,您可以使用文字字符串插值

 >>> print(f"the answer is {answer}")
the answer is True

131
answer = True
myvar = "the answer is " + str(answer)

Python不执行隐式转换,因为隐式转换可以掩盖关键的逻辑错误。只需将答案强制转换为字符串本身即可获得其字符串表示形式(“ True”),或使用如下所示的字符串格式:

myvar = "the answer is %s" % answer

请注意,答案必须设置为True(大写字母很重要)。


7
answer = True
myvar = "the answer is " + str(answer)

要么

myvar = "the answer is %s" % answer

%s引号的外面不应该存在,但这确实是正确的。
Makoto 2012年

3

使用所谓的f字符串:

answer = True
myvar = f"the answer is {answer}"

那我做的话

print(myvar)

我会得到:

the answer is True

我喜欢f字符串,因为人们不必担心变量在打印的文本中出现的顺序,这在一个将多个变量作为字符串打印的情况下很有用。


1

答案=正确

myvar ='答案为'+ str(answer)#由于答案变量为布尔格式,因此,我们必须将布尔值转换为字符串格式,使用此格式可以轻松完成此操作

打印(myvar)


1
欢迎来到Lijin G. Varghese!此处不建议使用仅代码的答案,因为它们无法提供有关如何解决问题的见解。请用您的代码如何解决当前问题的说明来更新您的答案:)
Joel

0

在最新版本的Python(3.7.0)中,引入了f字符串。

注意:

boolean = True
output = 'The answer is' + boolean

不会工作,因为布尔值不能并置为字符串。

使用f字符串,您可以创建布尔值的字符串版本,并将其一次合并为输出字符串,如下所示:

boolean = True
output = f'The answer is {boolean}'

要使用f字符串,请将变量(任何类型)放在花括号{}中,并将f放在字符串前面(如上所示)。

注意:这也适用于整数和其他可解析为print()函数的数据类型。


-1
answer = “True”

myvars = “the answer is” + answer

print(myvars)

这应该很容易为您提供答案,因为使用引号将答案存储为字符串


但是他没有将答案存储为字符串。这是一个布尔值。问题是如何将动态布尔值转换为其字符串表示形式。
cstrutton
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.