读书人

关于小弟我看的一个八皇后的示例代码不

发布时间: 2012-04-21 14:34:44 作者: rapoo

关于我看的一个八皇后的示例代码不明白的地方
在检查冲突那个函数

Python code
def conflict(state,nextX):    nextY = len(state)    for i in range(nextY):        if abs(state[i]-nextX) in (0,nextY-i):            return Truereturn 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。

读书人网 >perl python

热点推荐