Как убрать перевод строки при вызове print?
Всё работает без ошибок, вот только он выводит «—» его по одной на одну строку, а мне надо чтобы он вывел их всех в одну строку. Не знаете как это сделать?
Отслеживать
47.8k 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
Python: print без символа новой строки
Возьмём такой пример:
$ cat no_new_line.py #!/usr/bin/env python list = ('a', 'b', 'c') for i in list: print(i)
Который ведет на экран каждый элемент с новой строки:
$ ./no_new_line.py a b c
Что бы вывести элементы списка на экран один за другим – можно использовать несколько способов.
for i in text: print(i.rstrip('n'))
for i in list: print(i),
$ ./no_new_line.py a b c
Ещё один способ – с помощью __future__ print_function .
Для этого перед импортами добавляем:
#!/usr/bin/env python from __future__ import print_function list = ('a', 'b', 'c')
А в цикле – используем аргумент end для функции print() :
for i in list: print(i, end=' ')
$ ./no_new_line.py a b c
Стоит обратить внимание ещё и на аргумент sep (separator):
$ cat no_new_line.py #!/usr/bin/env python from __future__ import print_function print('one', 'two', 'three', sep='--*--')
$ ./no_new_line.py one--*--two--*--three
Как печатать в одну строку в 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 = "&")
Вывод в Python без новой строки или пробела
В Python при использовании функции print() по умолчанию каждый новый элемент выводится с новой строки или с пробелом. Это логично для большинства случаев, но иногда возникает необходимость вывести данные без перехода на новую строку или пробела. Например, есть задача вывести четыре точки подряд без пробелов и переносов строк.
Стандартный код Python выглядит так:
for i in range(4): print('.')
print('.', '.', '.', '.')
В обоих случаях результат будет выведен с переходами на новую строку или с пробелами.
Для того чтобы решить данный вопрос, необходимо использовать параметр end в функции print() . Параметр end определяет, что будет добавлено после каждого вывода. По умолчанию значение end равно «\n» , что означает переход на новую строку.
Если нужно выводить элементы без перехода на новую строку, можно установить значение end равным пустой строке:
for i in range(4): print('.', end='')
Точки будут выведены на одной строке без пробелов и переносов.
Таким образом, функция print() в Python предоставляет гибкий функционал для контроля формата вывода данных.