回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<pre><code>def calcPath(trace_map, x, y):
n = len(trace_map)
count = 0
if x > n - 1 or y > n - 1:
pass
elif x < n and y < n:
if x + trace_map[x][y] == (n - 1) and y == (n - 1):
count += 1
elif x == (n - 1) and y + trace_map[x][y] == (n - 1):
count += 1
else:
calcPath(trace_map, x + trace_map[x][y], y)
calcPath(trace_map, x, y + trace_map[x][y])
return count
if __name__ == "__main__":
trace_map = [
[1, 2, 9, 4, 9],
[9, 9, 9, 9, 9],
[9, 3, 9, 9, 2],
[9, 9, 9, 9, 9],
[9, 9, 9, 1, 0],
]
print(calcPath(trace_map, 0, 0))
trace_map = [[1, 1, 1], [1, 1, 2], [1, 2, 0]]
print(calcPath(trace_map, 0, 0))
</code></pre>
<p>我想计算给定迷宫的现有路线。(无论如何,问题本身并不那么重要)
问题是,我试图计算符合递归函数条件的情况的数量</p>
<p>这是必须计算的两个条件</p>
<pre><code>if x + trace_map[x][y] == (n - 1) and y == (n - 1):
if x == (n - 1) and y + trace_map[x][y] == (n - 1):
</code></pre>
<p>我试着像这样计算条件</p>
<pre><code>count = 0
if condition = True:
count +=1
</code></pre>
<p>但由于我使用的是递归函数,如果我在函数中声明count=0,则计数值保持为0</p>
<p>简而言之,我只想让计数器不受递归函数的影响</p>