Перейти к содержимому

Python как убрать перенос строки в print

  • автор:

Как перевести текст на новую строку в Python

Символ новой строки используется в Python, чтобы отмечать конец одной строки и начало новой. Важно понимать, как использовать его для вывода в консоль и работы с файлами.

В этом материале речь пойдет о следующем:

  • Как определять символ новой строки в Python.
  • Как использовать символ новой строки в строках и инструкциях вывода.
  • Вывод текста без добавления символа новой строки в конце.

Символ новой строки

Символ новой строки в Python выглядит так \n . Он состоит из двух символов:

  • Обратной косой черты.
  • Символа n (в нижнем регистре).

Если встретили этот символ в строке, то знайте, что он указывает на то, что текущая строка заканчивается здесь, а новая начинается сразу после нее.

>>> print("Hello\nWorld!") Hello World!

Его же можно использовать в f-строках: print(f»Hello\nWorld!») .

Символ новой строки в print

По умолчанию инструкции вывода добавляют символ новой строки «за кулисами» в конце строки. Вот так:

Символ новой строки в print

Это поведение описано в документации Python. Значение параметра end встроенной функции print по умолчанию — \n . Именно таким образом символ новой строки добавляется в конце строки.

Вот определение функции:

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

Значением end=’\n’ , поэтому именно этот символ будет добавлен к строке.

Если использовать только одну инструкцию print , то на такое поведение можно и не обратить внимание, потому что будет выведена лишь одна строка. Но если использовать сразу несколько таких инструкций:

Как в Python использовать функцию print( ) без переноса строки

Изображение к статье как в Python вывести на печать без переноса строки

Практически любой учебный материал по языку программирования Python, предназначенный для новичков, довольно поверхностно рассказывает о функции print( ). Чаще всего нам сообщают что данная функция выводит текст на печать и на этом всё.

Поэтому зачастую такая банальная вещь в Python как вывод текста на печать с помощью функции print( ) без переноса строки может вызвать ступор у начинающих программистов.

Для примера рассмотрим код:

print('Я') print('изучаю') print('Python')

На выходе получим:

Я изучаю Python

Но, что делать, если мы хотим, что бы текст выводился без переноса строки? Функция print ( ) на самом деле принимает не один, а несколько аргументов. Если мы их не указываем явно, то она использует значение по умолчанию.

У функции print( ) есть аргумент end, который по умолчанию равен /n (последовательность символов, обозначающих перенос строки).

Мы можем явно указать атрибут end у функции print( ) следующим образом:

print('Я', end='') print('изучаю', end='') print('Python', end='')

На выходе получим:

ЯизучаюPython

Атрибут end может принимать различные значения, мы можем в первых двух функциях у атрибута end в одинарные кавычки заключить пробел, а у последней поставить восклицательный знак:

print('Я', end=' ') print('изучаю', end=' ') print('Python', end='!')

На выходе получим:

Я изучаю Python!

Как печатать в одну строку в Python

Функция Python print() используется для печати результата или вывода на экран. По умолчанию она переходит к новой строке для печати следующего оператора. Имеет заранее определенный формат для вывода на печать. Разберем на примере.

print("Welcome") print("To") print("JavaTpoint")
Welcome To JavaTpoint

Чтобы печатать в одной строке в Python, мы можем записать утверждение полностью в одной функции print().

print("Welcome To JavaTpoint")
Welcome To JavaTpoint

Функция Python print() имеет аргумент end, который предотвращает переход к новой строке. Рассмотрим следующий пример.

list1 = [10,11,12,13,14,15] for i in list1: print(i, end = " ")
10 11 12 13 14 15

В приведенном выше коде мы объявили список и повторили каждый элемент, используя цикл for. Функция print() напечатала первый элемент списка, а затем напечатала конечное значение, которое мы назначили как пробел, и оно будет печататься до элемента списка.

Мы можем присвоить конец любому литералу. Давайте разберем это в следующем примере.

list1 = [10,11,12,13,14,15] for i in list1: print(i,end = "&")

Как убрать перевод строки при вызове print?

Всё работает без ошибок, вот только он выводит «—» его по одной на одну строку, а мне надо чтобы он вывел их всех в одну строку. Не знаете как это сделать?

Отслеживать
48.6k 17 17 золотых знаков 56 56 серебряных знаков 100 100 бронзовых знаков
задан 12 мая 2021 в 6:35
Jasur05 Mag. Jasur05 Mag.
17 2 2 серебряных знака 7 7 бронзовых знаков
выберите лучший ответ, раз вам помогли. так принято на StackOverflow
12 мая 2021 в 7:30

5 ответов 5

Сортировка: Сброс на вариант по умолчанию

Если вы выводите результат функции через print , то в самой функции не делайте print , а только формируйте строку, и возвращайте ее через return :

a = int(input("Введите длину линии: ")) def line(a): s = '' for i in range(a): s += '-' return s print(line(a)) 

Можно функцию упростить до двух строк:

def line(a): return '-' * a 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *