Python: пробел заменяется знаком "-"

Господа и дамы: прохожу курс обучения python, код проходит проверку тремя пачками данных. Суть проблемы такова: в одной из пачек данных появляются отрицательные значения, и при выводе "-" съедает необходимый по требованиям пробел:

Потрачено ккал: 336.000. Потрачено ккал:-81.320. Потрачено ккал: 157.500.

соответственно, хочу узнать существует ли способ избежать такого сценария? PS добавить пробел - не выход, тест не пройдут другие две пачки данных.

print(f'Тип тренировки:{self.training_type};',
      f'Длительность:{self.duration: .3f} ч.;',
      f'Дистанция:{self.distance: .3f} км;',
      f'Ср. скорость:{self.speed: .3f} км/ч;',
      f'Потрачено ккал:{self.calories: .3f}.')

Ответы (2 шт):

Автор решения: Hat

Вы можете сделать так

print(f'Число: {-81.32:.3f};')
print(f'Число: {157.5:.3f};')
→ Ссылка
Автор решения: kerstem

В форматировании есть флаги для чисел:

  • +: знак ставится для всех чисел - '+25','-25'
  • -: для отрицательных '-', ничего для положительных - '25','-25'
  • (Пробел): для отрицательных '-', пробел для положительных - ' 25','-25'

Итого ваш код примерно такой:

print(f'Тип тренировки:{self.training_type};',
      f'Длительность: {self.duration:-.3f} ч.;',
      f'Дистанция: {self.distance:-.3f} км;',
      f'Ср. скорость: {self.speed:-.3f} км/ч;',
      f'Потрачено ккал: {self.calories:-.3f}.')
→ Ссылка