1 2 3 +*
Числа-операнды записываются в пятисимметричной системе счисления (см., Например, описание троичной симметричной системы счисления). Отрицательные цифры симметричной пятикратной системы счисления: B для -2 и A для -1. Таким образом, число B2 в пятичленной симметричной системе счисления - это число -8 в десятичной системе счисления.
Калькулятор должен обрабатывать 27-битные числа с фиксированной запятой, в которых младшие 11 бит предназначены для дробной части, а старшие 16 бит - для целой части. Например, 120,0102 как 27-битное число с фиксированной запятой будет записано как 000000000000012001020000000.
На входе - числа, в которых целая часть отделяется от дробного символа «точка», и гарантируется, что целая часть числа содержит не более 16 значащих цифр, а в дробной части - не более 11 значащих цифр. . Число с нулевой дробной частью может не иметь дробной части.
Ваша программа должна вычислить выражение и вывести результат как 27-битное число в пятикратной симметричной нотации. Если во время вычисления возникает ошибка, например, результат вычисления операции после округления не может быть представлен с требуемой разрядностью, должна быть выведена строка ERROR.
При вычислении результата операций используйте округление до ближайшего представимого значения.
мой код:
s = input().split()
polskiu = [int(s[0])]
for i in range(len(s) - 2):
polskiu.append(int(s[i + 1]))
x = s[-1][i]
if x == '+':
g = polskiu.pop()
z = polskiu.pop()
polskiu.append(g + z)
elif x == '-':
g = polskiu.pop()
z = polskiu.pop()
polskiu.append(z - g)
elif x == '*':
g = polskiu.pop()
z = polskiu.pop()
polskiu.append(g * z)
print(polskiu[0])
У меня проблема с вводом и дальнейшей обработкой чисел, если я введу дробное число, то он покажет мне ошибку из-за того, что дальнейшие операции выполняются с изменением int()

print(answer) # выдаст ответ в десятичной системе. Его ещё придётся переводить в пятеричную перед выводом.