关于小弟我看的一个八皇后的示例代码不明白的地方
关于我看的一个八皇后的示例代码不明白的地方
在检查冲突那个函数
假设如果state=()的时候,nextX=0的时候,这个函数的执行会是怎么样呢
我单独的这样运行了,发现它返回的结果是Flase,就说明for语句没有被执行或者执行后if为假,但是我试着for 0 in 0.......这样去执行发现会报错,这是怎么回事?
------解决方案--------------------
在检查冲突那个函数
- Python code
def conflict(state,nextX): nextY = len(state) for i in range(nextY): if abs(state[i]-nextX) in (0,nextY-i): return True return Flase
假设如果state=()的时候,nextX=0的时候,这个函数的执行会是怎么样呢
我单独的这样运行了,发现它返回的结果是Flase,就说明for语句没有被执行或者执行后if为假,但是我试着for 0 in 0.......这样去执行发现会报错,这是怎么回事?
------解决方案--------------------
- Python code
def conflict(state,nextX): # state = (), nextX = 0 nextY = len(state) # nextY = 0 for i in range(nextY): # range(0)是[], 所以for语句执行了,但它什么也没做 if abs(state[i]-nextX) in (0,nextY-i): return True return Flase
------解决方案--------------------
顶楼上,楼主看的是python基础教程吧,我当时也遇到这个问题了呵呵!
------解决方案--------------------
我也在看这本书pdf。