我目前正在构建一个函数,用于检查板上的位置是否存在并返回布尔值。该位置以元组形式给出,并且棋盘也称为拼图作为2d列表。
例如:
is_valid_location((1,1),[[None]])→False
is_valid_location((1,1),[[1,2],[2,1]])→True(因为2x2拼图有第1行和第1列)
is_valid_location((1,2),[[1,2],[2,1]])→False
我当前的代码试图将元组的索引0指定为x,将元组的索引1指定为y。然后我试图返回布尔值。
def is_valid_location(loc,puzzle):
location=tuple(loc)
x=location[0]
y=location[1]
return x in range(len(puzzle[0])) and y in range(len(puzzle))
该函数无效,因为我收到缩进错误,但据我所知,我已正确缩进。没有调用任何内置函数,有没有更简单的方法来做到这一点?
答案 0 :(得分:1)
找不到缩进错误。如果您收到此错误,则主要是在使用标签和空格混合复制粘贴代码时导致的。删除所有间距,然后再将它们标记出来。
您的功能也可以简化为
def is_valid_location(loc, puzzle):
x, y = loc
return 0 <= x < len(puzzle[0]) and 0 <= y < len(puzzle)
答案 1 :(得分:0)
您的代码完全按照我将其复制到编辑器时的描述,因此我建议您进一步探索缩进错误。您可能正在混合制表符和空格;这可以通过更改文本编辑器的设置来解决,这样它总是用4个空格替换制表符。不幸的是,如果没有看到错误的追溯,很难帮助你。