从字符串解析一个韵律公式
formulaparser的Python项目详细描述
python的公式分析器。
版权所有(C)2017 Lars van de Kerkhof
此程序是免费软件:您可以重新分发和/或修改 根据由 自由软件基金会,或者许可证的第3版,或者 (由您选择)任何更高版本。
这个程序的发布是希望它能有用, 但没有任何保证;甚至没有 适销性或适合某一特定目的的适销性。见 GNU通用公共许可证了解更多详细信息。
你应该收到GNU通用公共许可证的副本 还有这个节目。如果没有,请参见<;http://www.gnu.org/licenses/>;。
它的功能
解析包含变量的简单算法公式。 然后可用于计算从上下文中解析变量的值 反对。
>>>fromargparseimportNamespaceasKeyedObject>>>fromformulaparserimportFormula>>>>>>context=KeyedObject()>>>context.four=4>>>context.three=3>>>deepercontext=KeyedObject()>>>deepercontext.ten=10>>>deepercontext.twelve=12>>>context.nextlevel=deepercontext>>>>>>Formula("((1 + 2 + 3) + 4 + (3 + 7)) + 5").calculate_value()25>>>Formula("4!").calculate_value()24>>>Formula("3.287 / 6").calculate_value()0.5478333333333333>>>Formula("2 ^ 8").calculate_value()256>>>Formula("4 - (-4)").calculate_value()8>>>Formula("(4 * 6) - 8 + 7 - 4 + 3").calculate_value()22>>>Formula("((1 + four + 3) + nextlevel.ten + (3 + 7)) + 5").calculate_value(context)33>>>Formula("((four!) - 6) / nextlevel.twelve").calculate_value(context)1.5>>>Formula("2 ^ three").calculate_value(context)8>>>Formula("nextlevel.twelve - (-four)").calculate_value(context)16>>>Formula("(four * 6) - nextlevel.ten + 7 - 4 + 3").calculate_value(context)20