2017-03-29 52 views
-2

我写了下面的脚本:如何一起打印字符串和整数变量?

string="My name" 
age=19 
print(string +str(age)) 

但是,这给出了一个错误,指出:

"str object is not callable". 

帮我强制转换和打印。

+0

您确定这就是您的确切代码?因为那应该完全符合你的要求。 – glibdud

+5

你已经分配到'str'某个地方。首先执行'del str'并重试。 –

+0

@ayhan请把它作为这一个:http://stackoverflow.com/questions/30591182/how-to-fix-redefinition-of-str?noredirect=1&lq=1,我不能因为我已经投票关闭作为错字。 –

回答

0

尝试formatting strings

print(f'{string} {age}')

+0

这是我以前从未见过的格式,我没有在您的链接中看到它。 – glibdud

+0

我不认为将Python 3.6中的新格式字符串建议给最有可能不使用最新版本的Python的新用户是最好的办法。 –

+0

我们总是可以建议新用户安装python 2.7,并首先使用旧版本。但你有一点! – Butuzov

1

就像在评论中提到的,它看起来像你已经重新分配内置的功能str到别的东西。找到并删除它,你的代码应该可以工作。

另外值得注意的是,在python3中,print()函数会尝试将您的参数转换为字符串,如果用,分隔它们。如在这里看到的:

print(string, age) 

age转换为一个字符串给你。

0

String.format可以在这里帮助。

print ("{0} {1}".format(string, age)) 

此结果是以下被打印。

My name 19 

您也可以使用此方法来提高输出的可读性。

print ("Name: {0} age: {1}".format(string, age) 

这将导致以下输出。

Name: My Name age: 19 
相关问题