二进制CSP实例

时间:2017-03-19 04:40:47

标签: python-3.x random constraint-programming

请在python中非常新,我正在尝试做一个二进制CSP实例,它根据用户想要的变量数生成变量。因此,如果用户想要4个变量,它会生成X1,X2,X3,X4,然后附加到列表中。我尝试过它,仍然无法放置它

class CSP:
    def __init__(self, variables):
        self.variables = list(variables)

    def get_variables(self):
        return self.variables

class Map(CSP):
    n = input("Enter number of variables: ")
    for i in range(n):
        vare = 'X' + 'i'

    def __init__(self):
        super().__init__(self._collect_variables())

    def _collect_variables(self):
        variables = []
        variables.append(self.vare) #list the user appends to

def main():
    Map()

if __name__ == '__main__':
    main()

1 个答案:

答案 0 :(得分:0)

您的代码无法正常工作:生成多个变量。而不是它,它更新单个变量'vare'。

我应该按照以下方式进行:

class Map(CSP):
    self._vare = []

    def __init__(self):
      n = input("Enter number of variables: ")
      for i in range(n):
        vare.append ('X' + 'i')

      super().__init__(self._get_variables())

    def _get_variables(self):
      return self._vare