python - 以特定顺序执行 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语句中的条件执行命令?
解决方案
我应该如何对if语句中的条件执行命令?
这不仅仅需要更改您的 if 语句。首先,您需要order
作为参数传入,而不是使用硬编码值。然后你需要遍历字符order
并检查每个字符指定的方向。
如果您仍然无法解决这个问题,我建议您从代码中退后一步,用文字描述解决问题所需的步骤。
推荐阅读
- python - 从印度的形状文件中为特定状态创建叶绿素
- php - Magento 1.9.3 未捕获的错误:在布尔 Payment/Model/Observer.php 上调用成员函数 getMethodInstance()
- ios - Xamarin-iOS 崩溃:自 iOS 13 以来,只要打开语音,我们的应用程序就会崩溃
- powershell - 如果文件夹的任何子文件夹中有 csv 文件,如何不删除文件夹
- azure-data-explorer - Kusto 中的 EXECUTE 或 sp_executesql 命令
- php - 如何删除重复的用户详细信息
- vue.js - 修改 v-tab Vuetify 中上一个/下一个箭头的行为
- python - 为什么 numpy 的 as_strided 用(默认)strides=None 改变数组步幅?
- android - Corner radius property missing on MaterialButton after update to Material 1.2.0
- python - 使用多处理从队列中读取