首页 > 解决方案 > 以特定顺序执行 if 语句中的条件

问题描述

我正在研究一个使用递归方法解决迷宫的 Python 项目。用户可以按照他们想要的顺序选择要检查的每个单元格的方向“NESW”。为了使事情更简单,我编写了以下代码来说明我的问题。

def check(x, y, user_order):
<snip>
    *assuming user_order is 'NESW'*
    if check(x, y + 1) or check(x + 1, y) or check(x, y - 1) or check(x - 1, y):
        return True
<snip>    

如果有路径,if 语句无论如何都会返回 True。但是,“检查”功能在递归调用和顺序问题期间标记和取消标记迷宫的单元格。我应该如何对if语句中的条件执行命令?

标签: pythonif-statementrecursion

解决方案


我应该如何对if语句中的条件执行命令?

这不仅仅需要更改您的 if 语句。首先,您需要order作为参数传入,而不是使用硬编码值。然后你需要遍历字符order并检查每个字符指定的方向。

如果您仍然无法解决这个问题,我建议您从代码中退后一步,用文字描述解决问题所需的步骤。


推荐阅读