Своеобразное задание на Python. Перевернут вещественное число

Никак не могу разобраться, как это перевернуть. Понимаю, что нужно, сначала развернуть часть до точки, потом ту, что за точкой и засуммировать. Писал что-то, писал, так и не пришел к решению. Буду благодарен за помощь.[Так выглядит задание.][1]

#Пытался что-то написать, как моя голова думала. Так и не смог завершить...

def get_reversed(user_input):
    new_number = ''
    while user_input != 0:
        new_number += str(user_input % 10)
        user_input //= 10
    new_number = int(new_number)
    return new_number


def point_separation(user_input):
    left_num = ''
    right_num = ''
    for symbol in str(user_input):
        if symbol == '.':
            left_num = str(get_reversed(right_num))
            right_num = ''
        right_num += str(symbol)
        right_num = str(get_reversed(right_num))
    reversed_num = str(left_num + '.' + right_num)
    return reversed_num


user_input1 = (input('Enter the first number\n>>> '))
user_input2 = (input('Enter the second number\n>>> '))

separation_number1 = point_separation(user_input1)
separation_number2 = point_separation(user_input2)

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

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

UPD

convert = lambda x: float('.'.join(map(''.join, map(reversed, x.split('.')))))
было очень не красиво.
Конечно же
convert = lambda x: float('.'.join([elem[::-1] for elem in x.split('.')])).

Спасибо @StanislavVolodarskiy за напоминание

convert = lambda x: float('.'.join([elem[::-1] for elem in x.split('.')]))
val_1 = convert(input('Введите первое число: '))
val_2 = convert(input('Введите второе число: '))
print()
print(f'Первое число наоборот: {val_1}')
print(f'Второе число наоборот: {val_2}')
print(f'Сумма: {val_1 + val_2}')

convert - более наглядно

def convert(val: str) -> float:
    # сплит значения по точке
    elements = val.split('.')
 
    reversed_elements = [elem[::-1] for elem in elements]
    # теперь соединяем через точку две перевернутые части
    converted_val = '.'.join(reversed_elements)
    # и возвращаем значение приведенное к float
    return float(converted_val)

В первом варианте с люмбдой записана та же последовательность действий только в одну строку

→ Ссылка
Автор решения: Stanislav Volodarskiy

Решать нужно в строках. Вещественные числа не хранят десятичные дроби точно. А со строками всё просто: разбиваем число по десятичной точке, обе части разворачиваем как строки, объединяем - функция reverse_n получает и возвращает строки:

def reverse_n(s):
    return '.'.join(p[::-1] for p in s.split('.'))


n = reverse_n(input('Введите первое число: '))
k = reverse_n(input('Введите второе число: '))
print()
print('Первое число наоборот:', n)
print('Второе число наоборот:', k)
print('Сумма:', float(n) + float(k))
→ Ссылка
Автор решения: k4t4r5i5

Вот и способ решения, который требовали. Всем спасибо за помощь, все оказалось еще легче, чем я думал.

def get_reversed(user_input):
    int_part = int(user_input)
    float_part = user_input - int_part
    reversed_int = 0
    reversed_float = 0
    while 0 < int_part:
        reversed_int = reversed_int * 10 + int_part % 10
        int_part //= 10
    while 1e-8 < float_part:
        reversed_float = reversed_float / 10 + int(float_part * 10) / 10
        float_part = float_part * 10 % 1
    return reversed_int + reversed_float


user_input1 = get_reversed(float(input('Enter first number\n>>> ')))
user_input2 = get_reversed(float(input('\nEnter second number\n>>> ')))

print(f'Sum: {user_input1 + user_input2}')
→ Ссылка