在python 3中使用逗号打印

时间:2016-02-07 01:09:50

标签: python

使用python 3 {scheme}://{domain}//learninglaravel/laraquickstart/quickstart/public/task ,不会在同一行上一个接一个地列出重复数据?

我们假设您希望消息在同一行显示并重复显示。

例子。

print()

它当前正在打印另一个。(不是我想要的)

my_message = 'Hello'
for i in range(100) :
    print(my_message), 

但是我在python书中读到,在print()之后添加一个逗号应该创建所需的效果并使它并排显示

hello 
hello
hello..... 

为什么它在Python 3中没有这样做?你是如何解决的?

3 个答案:

答案 0 :(得分:3)

这在Python 3中不起作用,因为在Python 3中,print是一个函数。要获得所需的效果,请使用:

myMessage = "Hello"
for i in range(100):
    print(myMessage, end=" ")

或更简洁:

print(" ".join("Hello" for _ in range(100)))

答案 1 :(得分:2)

由于print()是Python 3中的一个函数,因此可以使用* - 运算符向其传递多个参数。

您可以使用元组执行此操作:

print(*('Hello' for x in range(100)))

或者使用列表(由列表推导创建):

print(*['Hello' for x in range(100)])

另一种方法是使用join()

print(' '.join('Hello' for x in range(100)))

您还可以使用end关键字:

for x in range(100):
    print('Hello', end=' ')

Python 2.x 中,这是可能的:

for x in xrange(100):
    print 'Hello',

答案 2 :(得分:1)

在Python 3中,只需

foo$V2[sample(seq(foo$V2), 38)] <- NA

无需创建列表或使用print(*('Hello' for _ in range(5)))

要在每个“Hello”之间放置一个空格以外的内容,请传递join参数(注意它只是关键字):

sep

给你

print(*('Hello' for _ in range(5)), sep=', ')