2013-03-13 1 views
0

Прежде всего, это не для любого класса. Я работаю над этими двумя программами в течение длительного времени и не могу сделать головы или хвосты. Я действительно хочу преодолеть эти проблемы, чтобы я мог перейти на другие уроки. «Создайте функцию, которая преобразует префиксную нотацию в постфиксную нотацию и постфиксную нотацию в префиксную нотацию. Функция принимает два аргумента. Первая - это строка выражения без пробелов или синтаксических ошибок, а вторая - другая строка, содержащая все Операторы. Символы, не входящие во вторую строку, рассматриваются как операнды. Длины всех операторов и операндов равны 1, а все операторы являются двоичными операторами ». например:Может ли кто-нибудь помочь мне с этой программой python singpath?

>>> fix_trans('ab33c2c11','abc') 
'33b211cca' 

и конвертировать в (реверс) польской записи:

>>> toPolish('(3+5)*(7-2)',D,0) 
'*+35-72' 
+1

Можем ли мы увидеть, что вы пробовали? – Xymostech

+0

В вашей функции «toPolish», что делают аргументы 'D' и' 0'? –

+0

Второй словарь, ключи и значения которого являются операторами и приоритетом операторов, тем больше приоритет над меньшими. Третий - логическое значение, чтобы определить, является ли польское обозначение обратным (если не верно, оно обратное польский). –

ответ

0

Можете ли вы предоставить какие-либо примеры того, как далеко вы получили с этим, или какие методы не работали для вас ? Кроме того, вы знакомы с shunting-yard algorithm?

+0

Я смог реализовать функцию для оценки обратных лакокрасочных и полирующих нот без проблем, но смена одного на другое - это то, где я застреваю. Я могу узнать, когда это pre и postfix, а затем передать их отдельным функциям, но все мои попытки определить функции не удалось –

 Смежные вопросы

  • Нет связанных вопросов^_^