При решении проблем на SPOJ я столкнулся с проблемой, которая требовала от программиста оценки выражения без использования приоритета. Это означает, что:Подавление приоритета оператора в Python
2 + 3 * 6=30 and not 20
Есть ли способ сделать это?
Есть ли какая-либо библиотека или встроенная функция для этого?
Поместите открытую круглую скобку после каждого оператора и закройте все в конце перед использованием eval. Но, вероятно, проблема требует, чтобы вы реализовали свой собственный синтаксический анализатор, где не нужно иметь дело с приоритетом, это большое облегчение. –
@MatteoItalia Что вы имеете в виду открытые круглые скобки после каждого оператора? Разве это не укрепило бы приоритет? Можете ли вы привести пример? –
Извините, я имел в виду обратное (все открытые круглые скобки в начале, закрывающие каждый из них перед каждым оператором); это обеспечит необходимый приоритет. Но опять-таки, точка такого упражнения отличается, вы не должны использовать eval & co., Но реализуете свой собственный простой парсер. –