2026, Jan 07 00:03

Как вывести число с одной цифрой после запятой и C без пробела в Python

Разбираем, почему возникает пробел между 36.4 и C, и как правильно форматировать вывод в Python: f-строки, точность .1f, рабочие примеры без лишних символов.

При форматировании числового вывода в Python даже крошечный пробел может нарушить ожидаемую строку. Частая ситуация: вы печатаете число с плавающей точкой с одним знаком после запятой, добавляете единицу вроде C — и получаете нежелательный зазор между числом и буквой.

Проблема

Задача: прочитать число с плавающей точкой, оставить ровно одну цифру после десятичной точки и сразу дописать букву C.

temp_value = float(input())
print('{:C>.1f}'.format(temp_value), 'C')

На выходе получается что-то вроде 36.4 C, тогда как ожидается 36.4C.

Что происходит

Здесь смешались два независимых момента. Во‑первых, когда число и литерал C выводятся как отдельные аргументы, между ними в итоговой строке появляется пробел. Поэтому вы видите 36.4 C вместо 36.4C. Во‑вторых, символ C внутри спецификатора формата в {:C>.1f} — это не суффикс, а заполнитель. Он работает только вместе с явной шириной. Например, если задать ширину, поле будет дополняться символом C слева: '{:C>10.1f}'.format(123.456) даст CCCCC123.5. Это дополнение не связано с добавлением единицы измерения справа от числа.

Решение и рабочие примеры

Проще всего получить точную строку без лишнего пробела — сформировать одну форматированную строку и поместить C прямо в неё.

reading = float(input())
print(f"{reading:.1f}C")

Так выведется число, округлённое до одного знака после запятой, и C будет прилегать вплотную. Если нужно просто приписать единицу измерения, не меняя точность, можно написать:

reading = float(input())
print(f"{reading}C")

Также можно явно контролировать количество знаков после запятой, сохраняя при необходимости завершающие нули:

reading = float(input())
print(f"{reading:.2f}C")  # две цифры после запятой
reading = float(input())
print(f"{reading:.3f}C")  # три цифры после запятой

Почему это важно

Форматирование строк требовательно к мелочам. Одного пробела или пропущенного нуля в конце достаточно, чтобы изменить результат и сломать сравнение строк. Понимание того, как работают спецификаторы формата, и умение собирать единую итоговую строку помогают получать детерминированные, воспроизводимые результаты.

Выводы

Объединяйте число и его единицу измерения в одной форматированной строке, чтобы избежать непреднамеренных пробелов. Помните: символы вроде C внутри спецификатора — это заполнитель, он влияет только на заполнение при заданной ширине. Для точного контроля числа знаков после запятой используйте точность .nf в f-строках, чтобы вывод соответствовал задуманному символ в символ.