关于print:python:使用print命令避免换行

Python: avoid new line with print command

本问题已经有最佳答案,请猛点这里访问。

我今天已经开始编程了,关于python有这个问题。这很愚蠢,但我不知道怎么做。当我使用print命令时,它打印我想要的任何内容,然后转到另一行。例如:

1
print"this should be"; print"on the same line"

应该返回:

this should be on the same line

但相反,返回:

this should be
on the same line

更准确地说,我试图用if创建一个程序,它告诉我一个数字是否是2。

1
2
3
4
5
def test2(x):
    if x == 2:
        print"Yeah bro, that's tottaly a two"
    else:
        print"Nope, that is not a two. That is a (x)"

但它没有将最后一个(x)识别为输入的值,而是准确地打印出:"(x)"(带括号的字母)。为了让它发挥作用,我必须写:

1
print"Nope, that is not a two. That is a"; print (x)

如果我进入test2(3),那么:

Nope, that is not a two, that is a
3

因此,要么我需要让python将打印行中的(x)识别为数字,要么打印两个不同的东西,但在同一行上。事先谢谢你,对这样一个愚蠢的问题深表歉意。

重要提示:我使用的是2.5.4版

另一个注意事项:如果我把print"Thing" , print"Thing2"放在第二张纸上,上面写着"语法错误"。


在python 3.x中,可以使用print()函数的end参数来防止打印换行符:

1
print("Nope, that is not a two. That is a", end="")

在python 2.x中,可以使用尾随逗号:

1
2
print"this should be",
print"on the same line"

您不需要这样简单地打印一个变量,但是:

1
print"Nope, that is not a two. That is a", x

请注意,尾随逗号仍会导致行尾打印一个空格,即相当于在python 3中使用end=""。要抑制空格字符,也可以使用

1
from __future__ import print_function

要访问python 3打印功能或使用sys.stdout.write()


在python 2.x中,只需将,放在print语句的末尾。如果希望避免EDOCX1与7之间的空白,请使用EDCOX1×9。

1
2
3
4
import sys

sys.stdout.write('hi there')
sys.stdout.write('Bob here.')

产量:

1
hi thereBob here.

注意,两个字符串之间没有换行符或空格。

在python 3.x中,通过print()函数,您可以说

1
2
print('this is a string', end="")
print(' and this is on the same line')

得到:

1
this is a string and this is on the same line

还有一个名为sep的参数,可以用python 3.x进行打印设置,以控制相邻字符串的分隔方式(或不取决于分配给sep的值)。

例如。,

Python 2 x

1
print 'hi', 'there'

给予

1
hi there

Python 3 x

1
print('hi', 'there', sep='')

给予

1
hithere


如果您使用的是python 2.5,这将不起作用,但是对于使用2.6或2.7的人,请尝试

1
2
3
4
from __future__ import print_function

print("abcd", end='')
print("efg")

结果在

1
abcdefg

对于那些使用3.x的用户,这已经是内置的了。


您只需执行以下操作:

1
print 'lakjdfljsdf', # trailing comma

然而,在:

1
print 'lkajdlfjasd', 'ljkadfljasf'

有隐含的空白(即' ')。

您还可以选择:

1
2
import sys
sys.stdout.write('some data here without a new line')


使用尾随逗号防止出现新行:

1
print"this should be"; print"on the same line"

应该是:

1
print"this should be","on the same line"

此外,您可以通过以下方式将要传递的变量附加到所需字符串的末尾:

1
print"Nope, that is not a two. That is a", x

您还可以使用:

1
print"Nope, that is not a two. That is a %d" % x #assuming x is always an int

您可以使用%运算符(modulo)访问有关字符串格式的其他文档。