不懂就不问 发表于 2020-4-28 17:11:28

八皇后问题的图形实现

对于这个代码的八皇后问题:
def queen(A, cur=0):   
    if cur == len(A):
      print(A)
      return (A)
    for col in range(len(A)):
      A, flag = col, True
      for row in range(cur):
            if A == col or abs(col - A) == cur - row:
                flag = False
                break
      if flag:
            queen(A, cur+1)

举例,当实现四皇后问题时,即输入queen(*4,cur=0)
输出为       。

为了能把他们转到列表里,即   [,]    有什么方法吗?
或者,对于这一代码的实现方式,有没有什么方法能够转化到图形中,类似这样:
. X . .
. . . X
X . . .
. . X .

_2_ 发表于 2020-5-8 09:40:08

如果想返回一个列表,可以把每次返回的值添加到一个列表里再统一返回
页: [1]
查看完整版本: 八皇后问题的图形实现