【问题标题】:Binary CSP instance二进制 CSP 实例
【发布时间】:2017-03-19 04:40:46
【问题描述】:

请在 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()

【问题讨论】:

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


    【解决方案1】:

    您的代码无法正常工作的原因很简单:它没有生成多个变量。而不是它,它更新单个变量 '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
    

    【讨论】:

    • @Iruoma 不要忘记将问题标记为已回答。干杯!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-05
    • 2021-11-18
    相关资源
    最近更新 更多