Невозможно импортировать имя «CSP» из библиотеки csp.
Я выполняю следующий код:
from typing import Dict,List,Optional
from csp import CSP
from constraint import Constraint
from typing import Dict,List,Optional
class QueensConstraint(Constraint[int,int]):
def __init__(self,columns:List[int])->None:
super().__init__(columns)
self.columns: List[int]=columns
def satisfied(self,assignment: Dict[int,int])->bool:
for q1c,q1r in assignment.items():
for q2c in range(q1c+1,len(self.columns)+1):
q2r: int=assignment[q2c]
if q1r==q2r:
return False
if abs(q1r-q2r)==abs(q1c-q2c):
return False
return True
if __name__=="__main__":
columns: List[int]=[1,2,3,4,5,6,7,8]
for column in columns:
rows[column]=CSP(columns,rows)
csp.add_constraint(QueensConstraint(columns))
solution: Optional[Dict[int,int]]=csp.backtracking_search()
if solution is None:
print("no solution found.")
else:
print(solution)
и он показывает следующую ошибку:
ImportError Traceback (most recent call last)
Cell In[16], line 3
1 from typing import Dict,List,Optional
----> 3 from csp import CSP
4 from constraint import Constraint
5 from typing import Dict,List,Optional
ImportError: cannot import name 'CSP' from 'csp' (c:\users\xxxxx\appdata\local\programs\python\python38\lib\site-packages\csp\__init__.py)
Я установил следующие библиотеки, чтобы попытаться выполнить код, но все равно показывает ту же ошибку:
1. Python-ограничение
2. csp
3. печатать