我正在尝试制作一个数独求解器,目前我正在制作检查它是否已解决的部分,但我有点卡住了。网格由 81 个数字 (9*9) 的列表组成,然后我有将它们分组为行、列和框的字典,例如:
self.rows = {'toptop':self.board[0:9],'topmid':self.board[9:18],'topbottom':self.board[18:27],
'midtop':self.board[27:36],'midmid':self.board[36:45],'midbottom':self.board[45:54]
, 我坚持的一点是检查每一行、每一列或每一框是否有数字 1-9。我已经尝试过并尝试过
self.winning = [1,2,3,4,5,6,7,8,9]
[x for x in self.rows.values() if (x == y for y in self.winning)]
但这只是返回了分组为行的每个值。我也尝试了一些变化,有些会返回包含数字 1-9 的列表,但它们经常有重复;他们永远不会只显示 1-9 的列表。我怎么能做到这一点?谢谢