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)
→ Ссылка