python преобразовать число в расстояние
Что имеется в виду.
Вот пример для перевода числа в timestamp:
import time
result = str(time.strftime('%H:%M:%S', time.gmtime(12345)))
print(result) # 03:25:45
Есть ли аналогичное решение ('родное' из какой-нибудь библиотеки или кастомный сниппет) для перевода числа в расстояние? В любом формате: 'км:м:см' или список значений [км, м, см].
Искал по запросам типа 'convert integer to distance' но ничего не нашел.
Ответы (2 шт):
Автор решения: Sergey
→ Ссылка
def format_distance(distance, unit):
units = {
'meters': ('метр', 'метра', 'метров'),
'kilometers': ('километр', 'километра', 'километров'),
'miles': ('миля', 'мили', 'миль')
}
if unit not in units:
raise ValueError("Недопустимая единица измерения")
forms = units[unit]
if distance == 1:
return f"{distance} {forms[0]}"
elif 1 < distance < 5:
return f"{distance} {forms[1]}"
else:
return f"{distance} {forms[2]}"
# Пример использования
distance = 3
unit = 'kilometers'
formatted_distance = format_distance(distance, unit)
print(formatted_distance)
Автор решения: mrBars1k
→ Ссылка
Такую функцию не сложно написать. Есть вот такой вариант:
def convert_dis(x):
km = x // 100000
m = (x % 100000) // 100
cm = x % 100
return f"{km} км : {m} м : {cm} см"
distance = 100000 ## сто тысяч см = 1 км;
result = convert_dis(distance)
print(result)