从字符串中解析算术公式
项目描述
Python的公式解析器。
版权 (C) 2017 Lars van de Kerkhof
本程序是自由软件:您可以按照自由软件基金会发布的GNU通用公共许可证的条款重新分发和/或修改它,许可证版本为3,或者(根据您的选择)任何更高版本。
本程序按照希望它将是有用的原则进行分发,但没有任何保证;甚至没有关于适销性或特定用途的隐含保证。有关详细信息,请参阅GNU通用公共许可证。
您应该已随本程序收到GNU通用公共许可证的副本。如果没有,请参阅 <https://gnu.ac.cn/licenses/>。
它能做什么
解析包含变量的简单算术公式。然后可以用于从上下文对象中解析变量来计算值。
>>> from argparse import Namespace as KeyedObject
>>> from formulaparser import Formula
>>>
>>> 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
项目详情
关闭
formulaparser-0.0.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 090c9cbc3a91d914b2be59b5cd29e80f21ca170ff8272fc6da9c10af2abf5855 |
|
MD5 | 76d11c2344f62e7619f182549c9bfecb |
|
BLAKE2b-256 | ff4228b9be2ee5ed92fa2f6bb5169cc16ad21f929371410c038b89c8508b75a7 |