我已经编写了一些代码来根据此处描述的标准从存储 cnf 的文件中加载 cnf 。
该文件是:
c simple_v3_c2.cnf // lines bigining by c are comments
c
p cnf 3 2 // the line bigining by p is the description of the pb
1 -3 0 // folowing lines are formulation of the pb, with 0 as ending caractere
2 3 -1 0
我想将它加载到 [[1, -3][2,3,-1]]
我编写的代码有效,但对我来说似乎很难看。我很想对此有一些反馈。(我是 python 新手)。
def loadCnfFile(fileName='example.cnf'):
""" retourne une liste de listes d'entiers decrivants la forme normale conjonctive"""
cnf=[]
cnfFile = open(fileName, 'r')
for line in cnfFile:
if line[0]!="c" and line[0]!="p":
l=line.split("0")[0].strip().split(" ")
m=[]
for k in l:
m.append(int(k))
cnf.append(m)
cnfFile.close()
return cnf
谢谢 !