我刚刚发现了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”是两个列表
答案 0 :(得分:2)
sep
是print
的参数,而不是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)
愿他们帮忙:)。