尝试使用空格而不是换行进行打印

时间:2013-11-23 10:42:29

标签: python spaces

我刚刚发现了Python,我无法找到一种方法来避免在我要打印的每个单词之间进行换行。 我知道它一定是人们经常会问的,这就是我寻找答案的原因,但却找不到有效的方法。 我读过它曾经可以在我的打印命令结束时放一个逗号,但它已经停止以这种方式工作,因为发布了新版本的Pyzo。 我也读过关于打印print(bla,sep =“”)但是它不起作用,所以基本上我不知道该怎么做。 这是我输入的内容:

from random import *
def vocabulaire(x):
i=1
while i<=x/2:
    print(choice(français, sep=""))
    i=i+1
while x>=i>x/2:
    print(choice(anglais,sep=""))
    i=i+1

基本上,如果我尝试执行这个程序,Pyzo打印:

"Traceback (most recent call last):
  File "<console>", line 1, in <module>
    from random import *
  File "C:\Users\Sébastien\Desktop\Pyzo_TD1.py", line 86, in vocabulaire
    # The full license can be found in 'license.txt'.
TypeError: choice() got an unexpected keyword argument 'sep' "

如果我只删除“sep =”“”,程序就可以正常工作,但不是我喜欢的方式。

你知道我应该怎么做吗? (我可能在这篇文章中犯了一些语法错误,抱歉,我的英语不流利)

Ps:“français”和“anglais”是两个列表

3 个答案:

答案 0 :(得分:2)

sepprint的参数,而不是choice的参数。所以,代码应该是这样的

print(choice(français), sep=" ")
...
print(choice(anglais), sep=" ")

如果您确实想要在一行中打印它们,则应使用end参数,而不是sep参数,例如

print(choice(français), end=" ")
...
print(choice(anglais), end=" ")

答案 1 :(得分:0)

如果您不想换行,只需添加','即:

print "aaa",
print "bbb"

答案 2 :(得分:0)

也许这就是你想要的:

import random

def vocabulaire(x, list_one, list_two):
    i = 1
    while i <= x/2:
        print random.choice(list_one),
        i += 1
    while x >= i > x/2:
        print random.choice(list_two),
        i += 1

如果您不确定如何使用某个功能,例如 random.choice ,您可以使用 ipython 获取一些帮助。例如,在shell中,键入

$ ipython

然后,在 ipython 中,键入以下语句:

import random
help(random.choice)

愿他们帮忙:)。