1

抱歉,我正在尝试学习 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')

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

谢谢

4

5 回答 5

2

您正在使用 Python2,括号和逗号被打印出来的原因是:
您所拥有print的是一个元组,即:

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

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

要将其更改为在 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')
于 2013-10-22T03:13:06.037 回答
1

尝试这个

print 'you need {0} more years of citizenship to ...'.format(z)
于 2013-10-22T07:42:35.017 回答
1

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

于 2013-10-22T03:12:48.417 回答
1

你应该使用字符串格式:

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

它将用 z 的值替换 %d (表示数字)

于 2013-10-22T07:46:13.593 回答
0

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

from __future__ import print_function

然后print像您在问题中所做的那样用作函数。

于 2013-10-22T07:58:17.257 回答