递归的思路:
1、 理解yield的用法
yield的作用相当于return,但是执行完yield语句后会冻结,所以一个函数多次生成返回值。
程序执行时,语句2会被重复调用,但只有最外面一层的语句2会将值返回给其它函数调用处。
2、 递归思想
递归的好处,是不必考虑深入递归的细节,在设计好结束条件,只考虑递归调用的返回值。
第一次进入queens()函数,语句1处,可以假定queens()根据第一行pos的值,返回后七行的值,然后利用第一行和后七行的值,输出结果,不需要考虑后七行的值是如何得到的。