Z3PY将int转换为Python int
有没有办法将Z3PY数据类型转换为本机Python数据类型 当我的公式由Z3求解时,我可以通过调用model()-函数将其打印出来。但是如何将模型输出保存为变量中的普通整数?所以我可以用它们 我可以把它们转换成普通的整数吗?这样我就可以在程序的Python代码的其余部分中使用它们了Z3PY将int转换为Python int,python,z3,z3py,Python,Z3,Z3py,有没有办法将Z3PY数据类型转换为本机Python数据类型 当我的公式由Z3求解时,我可以通过调用model()-函数将其打印出来。但是如何将模型输出保存为变量中的普通整数?所以我可以用它们 我可以把它们转换成普通的整数吗?这样我就可以在程序的Python代码的其余部分中使用它们了 我使用解算器的全部目的是将结果作为另一个Python程序的输入。所以我需要它来处理它。假设您声明的变量是x: x = z3.Int("x") 您将以Python int的形式获得它,如下所示:
我使用解算器的全部目的是将结果作为另一个Python程序的输入。所以我需要它来处理它。假设您声明的变量是
x
:
x = z3.Int("x")
您将以Python int的形式获得它,如下所示:
model[x].as_long()
z3型号也适用。检索列表中的所有参数:
[model[v] for v in model]
非常感谢。我尝试检索列表中的所有参数。这也是获取变量名的一种方法吗?现在我得到了变量的值,我不需要这些。变量总是有相同的名称,所以我可以自己编写它们。谢谢你的帮助,正是我所需要的!如果需要变量名,最简单的方法(虽然不是很简单)是查看
模型
字典本身。但这可能会变得相当复杂。最著名的方法是自己跟踪变量,这几乎总是可能的。(除非您正在编写适用于任意程序的实用程序。)