小编tqx*_*tqx的帖子

Z3/Python从模型中获取python值

如何从Z3模型中获取真正的python值?

例如

p = Bool('p')
x = Real('x')
s = Solver()
s.add(Or(x < 5, x > 10), Or(p, x**2 == 2), Not(p))
s.check()
print s.model()[x]
print s.model()[p]
Run Code Online (Sandbox Code Playgroud)

版画

-1.4142135623?
False
Run Code Online (Sandbox Code Playgroud)

但那些是Z3对象而不是python float/bool对象.

我知道我可以使用is_true/ 检查布尔值is_false,但是如何优雅地将ints/reals/...转换回可用值(例如,不通过字符串并删除这个额外的?符号).

python z3 z3py

13
推荐指数
1
解决办法
6972
查看次数

标签 统计

python ×1

z3 ×1

z3py ×1