Как печатать новую строку в Python без автоматического отступа в следующей строке?

Я включил команду \n в свой код, чтобы напечатать следующую часть в следующий раз. Хотя первоначальная цель была достигнута, неожиданно появился отступ только для первой строки результата, которая начиналась с новой строки.

print("Rank:\n", rank_desc)

Это приводит к:

Rank:
 count   500.000000
mean   250.500000
std    144.4181833
min      1.000000
etc...

Один из способов решить эту проблему - просто иметь два оператора печати. Однако теперь, независимо от того, как я нарезал и смешал \n в своем коде, я не мог убрать отступ.

используйте print("rank', rank_disk, sep='\n') . он будет печатать значение в новой строке каждый раз без пробела

shrey deshwal 09.08.2023 13:17

Извините, если неясно, так как это мой первый вопрос. Переменная rank_desc получена в результате использования метода Series.describe() в списке компаний Fortune500 и их рейтинге. Как я уже сказал, если я просто использую 2 оператора печати, что равносильно простой печати переменной rank_desc, отступов не будет.

Max 09.08.2023 13:20
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
3
50
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Использование запятой в функции print по умолчанию разделяет элементы пробелом, потому что это значение по умолчанию для параметра sep ( print(*objects, sep=' ', ...)).

Попробуйте установить что-то другое:

print("Rank:\n", rank_desc, sep='')

Или самостоятельно передать конкатенацию с помощью плюса:

print("Rank:\n" + rank_desc)

Или через f-строку:

print(f"Rank:\n{rank_desc}")

Вывод для всего вышеперечисленного:

Rank:
count   500.000000
mean   250.500000
std    144.4181833
min      1.000000
etc...

Или просто распечатайте "Rank:" отдельно.

user2357112 09.08.2023 13:18

ОП знает, что: «Один из способов решить проблему - просто иметь два оператора печати».

Sash Sinha 09.08.2023 13:19
Ответ принят как подходящий

используйте sep параметр print для этого:

# sep stands for separator
print("Rank:", rank_desc, sep='\n')

Вы можете отформатировать вывод, используя конкатенацию строк:

print("Ранг:" + rank_desc)

Такой подход гарантирует отсутствие дополнительных отступов в выводе.

В python использование «,» добавляет дополнительное пространство для форматирования, например:

print("a","b")

будет печатать не "ab", а "ab", поэтому ваш код сначала печатает «Rank:», затем новую строку, а затем печатает пробел из-за ",".

использовать:

print("Rank/n" + rank_desc)

чтобы смягчить эту проблему, если rank_desc является строкой или:

print(f"Rank:\n{rank_desc}")

если это не так. Буква f перед строкой указывает на то, что это f-строка. Выражение в фигурных скобках {rank_desc} оценивается, и его значение вставляется в строку.

Другие вопросы по теме