python - z3python : converting string to expression

标签 python z3

鉴于 x,y,z = Ints('x y z') 和像 s='x + y + 2*z = 5' 这样的字符串,有没有一种快速的方法可以将 s 转换为 z3 表达式?如果不可能,那么我似乎必须做很多字符串操作才能进行转换。

最佳答案

您可以使用 Python eval 函数。这是一个例子:

from z3 import *
x,y,z = Ints('x y z') 
s = 'x + y + 2*z == 5'
F = eval(s)
solve(F)

此脚本在我的机器上显示 [y = 0, z = 0, x = 5]

很遗憾,我们无法在 http://rise4fun.com/z3py 处执行此脚本. rise4fun 网站拒绝包含 eval 的 Python 脚本(出于安全原因)。

关于python - z3python : converting string to expression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12540306/

相关文章:

python - django-rest-framework 反序列化请求以使用用户外键创建对象

python - C DLL 到 Python 回调

Z3 数独解算器

z3 - Z3和coq的区别

c++ - 在 Z3 中添加函数约束

python xlsxwriter - Excel 2013 中柱形图中的类别 Axis 错误

python - 在特定年份 Pandas 之后删除行

python - Django 查询嵌套时间列表 Django 1.2

python - Z3 可以用来预处理问题吗?

z3 - 多线程Z3?