2013-11-23 4 views
0

Я просто открываю Python, и я не могу найти способ избежать изменения строки между каждым словом, которое я хочу напечатать. Я знаю, что часто люди часто спрашивают, и именно поэтому я искал ответ, но не мог найти ничего, что работает. Я читал, что когда-то было возможно поставить запятую в конце моей команды печати, но она перестала работать так, так как была выпущена новая версия Pyzo. Я также читал о печатании (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: «Вход» и «Английский» два списка

ответ

2

sep является параметром print, а не choice. Таким образом, код должен был как этот

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

Если вы на самом деле хотели напечатать их в одной строке, вы должны использовать end параметр, а не параметр sep, как этот

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

Спасибо за то, ответил так быстро:) в любом случае, он по-прежнему не работает, даже после этого изменения – user3024631

+0

@ user3024631 Показывает ли это сообщение об ошибке? – thefourtheye

+0

Ну нет, программа работает так же, как без sep = "" – user3024631

0

Если вы дон не хотят менять линию, просто добавьте «», то есть:

print "aaa", 
print "bbb" 
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, чтобы получить некоторую помощь. Например, в оболочке, типа

$ ipython 

затем, в IPython введите следующие операторы:

import random 
help(random.choice) 

Может они помогут :)

Смежные вопросы