如何打印出以下句子
"温度为30"
这样30可以改变吗?换句话说,我写道:
temp = 30
print (The temperature is "+ repr(temp)")
print "The temperature is "+ repr (temp)"
但系统说语法错误。
写这个的正确方法是什么?
答案 0 :(得分:2)
注意:我假设您正在编写一个python程序,因为您的代码根本不像基本代码。以下内容已使用Python3进行了测试,但也可能适用于Python2。
你的字符串分隔符到处都是。双引号("
)之间的所有内容都将被视为字符串。作为快速修复,您必须移动双引号,如下所示:
print ("The temperature is "+ repr(temp))
然后"The temperature is "
是一个字符串,repr(temp)
的结果附加到它上面。现在"+ repr(temp)"
被解释为字符串,The temperature is
被视为变量,尚未定义。因此错误。
更多细节,让我们来看看:
temp = 30 # sets an variable to 30 (integer)
text = "this is a string" + str(temp) # convert temp variable to string
# append it to the string and store it
# in the variable named text
print(text) # print the combined text
请注意,str
和repr
会略有不同:
str(x)
返回变量x
repr(x)
返回一个明确的字符串,通常用于解释器等。通常,您希望将str
用于此类任务。
有关详细信息,请查看at this post。