Python实现八皇后问题
2012-07-26 21:07
459 查看
python的yield用法,
若一个函数中有yield,就不能有return,有了yield,此函数就变成了一个生成器。更直观一点说,他的结果是一个list列表。
View Code
得好好理解一下yield用法! 具体算法的注释请自己看《python基础教程》
若一个函数中有yield,就不能有return,有了yield,此函数就变成了一个生成器。更直观一点说,他的结果是一个list列表。
View Code
# -*- coding: utf-8 -*- def conflict(state, nextX): length = len(state) for i in range(length): if abs(state[i] - nextX) in (0, length - i): return True return False def queens(num = 8, state = ()): for i in range(num): if not conflict(state, i): if num - 1 == len(state): yield (i,) else: for j in queens(num, state + (i, )): yield j + (i, ) print len(list(queens()))
得好好理解一下yield用法! 具体算法的注释请自己看《python基础教程》
相关文章推荐
- Python基于生成器迭代实现的八皇后问题示例
- 八皇后问题之python和scheme实现
- 【算法】八皇后问题 Python实现
- python实现八皇后问题
- Python实现八皇后问题
- ONP - Transform the Expression问题的python实现
- 回溯算法——收费公路重建问题python实现
- 八皇后问题---python
- python实现KNN的一些问题
- Python实现约瑟夫环问题的方法
- python 使用 signal模块实现函数调用超时问题
- 17. Python脚本学习笔记十七Python的八皇后问题
- python实现工作区间问题
- Import module问题的解决V2与python CGI访问的实现
- Python实现N阶台阶的走法问题
- 八皇后问题三种实现
- 机器学习:神经网络、正则化、多分类问题与Python代码实现
- python实现简单问题(汉诺塔、杨辉三角等)
- Python版八皇后问题
- python实现求解列表中元素的排列和组合问题