Помогите доделать 1 задачку python

Выполнен
Заказ
3592982
Раздел
Работа с текстом
Предмет
Другое
Тип работы
Антиплагиат
70% eTXT
Срок сдачи
10 Ноя 2020 в 15:00
Цена
0 ₽
Блокировка
10 дней
Размещен
6 Ноя 2020 в 17:40
Просмотров
29
Описание работы
Напишите калькулятор выражений в обратной польской записи. В выражении должны поддерживаться числа, знаки бинарных операций ‘+’, ‘-’, ‘*’, ‘/’. Польская запись записывается в одну строку, причем элементы польской записи разделяются произвольным количеством пробелов. Пробелы обязательны, когда необходимо отделить два числа друг от друга и допускаются для разделения знаков операций друг от друга или знаков операций и чисел, а также в начале и конце строки. Гарантируется, что польская запись является корректной записью некоторого выражения. Пример польской записи:
1 2 3 +*
Числа-операнды записываются в пятеричной симметричной системе счисления (см. например, описание троичной симметричной системы счисления). В качестве отрицательных цифр пятеричной симметричной системы счисления используются цифры B, обозначающая -2, и A, обозначающая -1. Таким образом, число B2 в пятеричной симметричной системе счисления - это число -8 в десятичной системе счисления.
Калькулятор должен обрабатывать 27-разрядные числа с фиксированной точкой, в которых младшие 11 разрядов отводится под дробную часть, а старшие 16 разрядов - под целую часть. Например, число 120.0102 в виде 27-разрядного числа с фиксированной точкой запишется как 000000000000012001020000000.
На вход подаются числа, у которых целая часть отделяется от дробной символом “точка”, причем гарантируется, что в целой части числа находится не более чем 16 значащих разрядов, а в дробной части - не более чем 11 значащих разрядов. У числа с нулевой дробной частью дробная часть может отсутствовать.
Ваша программа должна вычислить выражение и вывести результат в виде 27-разрядного числа в пятеричной симметричной записи. Если при вычислении возникла ошибка, например, результат вычисления операции после округления не может быть представлен с требуемой разрядностью, должна быть выведена строка ЕRROR.
При вычислении результата операций используйте округление к ближайшему представимому значению.
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])
НО, у меня не получается вывести результат в виде 27-разрядного числа в пятеричной симметричной записи и сделать обработку ошибки сказанной выше в условии.
Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу1 год
Средний балл4.52
СтоимостьНазначаете сами
ЭкспертВыбираете сами
Уникальность работыот 70%
Время выполнения заказа:
2 дня 20 часов 20 минут
Выполнен в срок
Отзыв о выполненном заказе
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Прямой эфир