擅长:python、mysql、java
<p>到目前为止,您的代码对所看到的每一个0都进行计数,但它应该只是对当前行中的0进行计数。要解决这个问题,需要在进入<code>for j in range(n):</code>循环之前将<code>count</code>重置为零。你知道吗</p>
<p>然而,用这种方法计算所有的零行是低效的。更好的方法是将<a href="https://docs.python.org/3/library/functions.html#sum" rel="nofollow noreferrer">^{<cd3>}</a>函数与<a href="https://docs.python.org/3/library/functions.html#any" rel="nofollow noreferrer">^{<cd4>}</a>或<code>all</code>结合使用。例如:</p>
<pre><code>def find_bully_1(a):
return sum(not any(u) for u in a)
x = [
[1,1,1,1],
[0,0,0,0],
[0,0,0,0],
[0,1,0,0],
]
print(find_bully_1(x))
</code></pre>
<p><strong>输出</strong></p>
<pre><code>2
</code></pre>
<hr/>
<p>FWIW,我不会费心把代码放到函数中,因为Python函数调用相对较慢,调用函数所需的代码并不比编写代码本身短多少:</p>
<pre><code>print(sum(not any(u) for u in x))
</code></pre>