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}.')