2016-10-20 2 views
0

Итак, у меня есть этот код:Python - Удаление пробелов на выходе

print("%d" % a, end=(" ")) 

Он работает, но на выходе, есть пробел после последнего номера. Мне нужно избавиться от последнего пробела. Мой вывод должен отображаться в той же строке, разделенной пробелом. После последнего значения пробела не должно быть места.

Вот пример: (п вводится, так предположим, п = 5)

0 1 1 2 3 

Я попытался .strip, .join, но ни один из них не работал. Что мне нужно сделать, чтобы получить правильный результат? Извините, если это слишком простой вопрос, я новичок в python.

редактировать: edit2:

a, b, i = 0, 1, 0 
n=int(input()) 
for j in range(0, n): 
    while i < n: 
     print("%d" % a) 
     a, b = b, a + b 
     i += 1 
+2

это 'a' список? Что вводит для 'a'? Пожалуйста, отредактируйте свой вопрос и добавьте дополнительную информацию о своем вкладе, чтобы понять, что вы ищете. – estebanpdl

+1

что вы думаете 'end = (" ")' делает? – njzk2

+0

См. Мой обновленный ответ. Кроме того, пожалуйста, включите в свой вопрос весь соответствующий код, чтобы сделать его очевидным, что вы пытаетесь сделать. – elethan

ответ

1

Вы добавляете роспускного пространство себя с end аргументом.

print("%d" % a, end=(" ")) 

Средства печати a окончание в ' '. Удалите аргумент end, и конечное пространство больше не будет напечатано (вместо этого будет напечатан по умолчанию '\n'). См. the docs for print() для более подробной информации.

Обратите внимание, что аргумент end не влияет на строку, которую вы печатаете, то есть a не влияет на end. Если в строке a есть конечное пространство, то a.strip() удалит это пространство. Причина, по которой он не удаляется strip() в вашем случае, заключается в том, что пространство не находится в строке, которую вы печатаете, но вместо этого добавляется к визуальному выводу функцией print().

Update:

Это трудно сказать, потому что это тайна, что происходит до или после фрагмента кода в вашем редактирования, но это звучит, как вы хотите сделать что-то вроде:

a, b, i = 0, 1, 0 
n=int(input()) 
nums = [] 
for j in range(0, n): 
    while i < n: 
     nums.append(str(a)) 
     ... 
     # Based on your desired output, 
     # I assume you modify the value of `a` somwhere in here 
     ... 
print(' '.join(nums)) 
+0

, но если я удалю end = ("") мой вывод похож на – desperate

+0

+ по одному номеру каждой строки – desperate

+1

Поместите введенные значения, преобразованные в строки в [list], затем "" .join (list) – ddbug

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