Python语句和计算之间的打印格式

时间:2013-10-22 03:03:45

标签: python

对不起,我正在尝试学习python,但是我如何打印这行(','不打印?

代码:

y = 7
z = 7 - y
print('you need ', z, 'more years of citizenship to become a US representative')

结果:

('you need ', 6, 'more years of citizenship to become a US representative')

但我不想要不必要的括号,逗号和奇怪的空格。

谢谢

5 个答案:

答案 0 :(得分:2)

您正在使用Python2以及打印出括号和逗号的原因是:
你在print之后拥有的是一个元组,即:

('you need ', z, 'more years of citizenship to become a US representative')

这是三个元素的元组,python会以元组形式打印出来,因此括号和逗号。
在Python 3中,括号不会被打印出来,因为print从一个语言结构(或使用他们自己的单词,“statement”)更改为一个函数,并且在其参数上需要括号。

要将其更改为在python2上运行:

print 'you need ', z, 'more years of citizenship to become a US representative'

print ('you need ' + str(z) + 'more years of citizenship to become a US representative')

答案 1 :(得分:1)

您正在使用括号创建两个字符串的tuple和数字。然后,print获取元组并使用它总是用于元组的特殊格式打印它。 python 2.7.x中的print是一个关键字,而不是一个函数,所以你不要使用括号。

答案 2 :(得分:1)

试试这个

print 'you need {0} more years of citizenship to ...'.format(z)

答案 3 :(得分:1)

你应该使用字符串格式:

print 'you need %d more years of citizenship to become a US representative' % z'

它将替换%d(表示数字),其值为z

答案 4 :(得分:0)

为了准备Python3,您可以在最顶层添加脚本

from __future__ import print_function

然后使用print作为您在问题中所做的功能。