【发布时间】:2023-03-13 08:22:01
【问题描述】:
我需要遍历嵌套列表并检查 # 在列表中的位置。我正在使用 NWES(北、西、东、南)坐标。所以 W 应该返回 False(因为 # 在那个特定位置),E 应该是 True 并且 S 也应该是 True。我想遍历每个字母并为每个字母获取布尔表达式。问题是我得到了 W 的 False 并且它忽略了 E 和 S。 不知道是不是压痕问题还是别的什么。
def something(can_mine, moves) -> bool:
""""""
for i in range(len(can_mine)):
for j in range(len(can_mine[0])):
for k in moves:
if can_mine[j][-1] == '#' and k == 'E':
return False
#
elif can_mine[j][0] == '#' and k == 'W':
return False
# N works
elif can_mine[0][j] == '#' and k == 'N':
return False
# S works
elif can_mine[-1][j] == '#' and k == 'S':
return False
else:
return True
if __name__ == '__main__':
print(something([['#', '.', '.', 'x'], ['.', '.', 'x', '.'], ['.', '.', 'X', 's'], ['.', '.', 'x', 'x']], 'WES' ))
What i need is something like that:
False
True
True
What I get is:
False (which is ok)
False (should be True)
False ( should be True)
【问题讨论】:
-
你能把那个问题的链接分享给我吗,因为我看到的代码无法理解你的问题。请分享你从哪里得到这个东西的问题的链接。
-
此代码是我现在正在处理的学校任务的更大代码的一部分。基本上我无法理解为什么在迭代后它会记住 False 并忽略它是否为 True。
-
所以你想遍历每个嵌套数组并按照
moves检查条件,对吧?